java byte[]转String再转回byte[]不一致问题

在项目中将byte[]转换为String存储,再还原为byte[]时发现内容不一致。问题源于Java默认GBK编码,多字节编码导致。解决方案是使用单字节编码如'ISO-8859-1'进行转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做项目时,为了将byte[]存入map的value,先将其转为String存入,需要时再取出转回byte[],但实现过程却发现了问题:转回的byte[]与原来不一致:

byte[] bytes = Hex.decode("1a91031001");
String str = new String(bytes);
byte[] after = str.getBytes();
System.out.println("before: " + Hex
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值