usc2 转 gbk 特殊字

694850337 2011-01-24 11:01:40
我用USC2类型的字节转gbk(String)时候后缀为什么存不进去如下:
要转变的Sting: 长短
ucs2字节: 957f77ed
用gbk转换后的ucs2字节:3f773f


String aa="长短";
byte[] changaa = aa.getBytes("UnicodeBigUnmarked");
String allchangaa = new String(changaa,"gbk");

如何解决ucs2字节改变的问题求高人指教
...全文
286 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
emilyhonglin 2011-12-13
  • 打赏
  • 举报
回复
怎么解决的?
694850337 2011-01-25
  • 打赏
  • 举报
回复
问题解决啦! 分还是要给的
694850337 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ml_dark 的回复:]
即使有这种要求,那你也只有在
byte[] changaa = aa.getBytes("UnicodeBigUnmarked");这个之后,将其字节值转换成GBK模式下的字节值,要不然绝对是乱码
[/Quote]
因为他们那里接收到之后是先用gbk转后得到usc2字节 然手在用UnicodeBigUnmarked转String就ok啦
gbk只是传送的一个通道
ml_dark 2011-01-24
  • 打赏
  • 举报
回复
即使有这种要求,那你也只有在
byte[] changaa = aa.getBytes("UnicodeBigUnmarked");这个之后,将其字节值转换成GBK模式下的字节值,要不然绝对是乱码
694850337 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ml_dark 的回复:]
编码类型不同,长度肯定不同,你给的代码,是将UCS2转换成 GBK,其编码方式不同,出来的字节值是在GBK模式下市乱码,造成出来的最后结果是乱码。。

UCS2只能用UCS2来转换,不知道你为什么有这么奇怪的需求
[/Quote]
合作方就是这么解码的,我也很郁闷 有没有在它们转变过程中可以将
by[0] = (byte)0xe1;
这样的编码存入gbk中且不乱码的方法
694850337 2011-01-24
  • 打赏
  • 举报
回复
合作方就是这么解码的,我也很郁闷 有没有在它们转变过程中可以将
by[0] = (byte)0xe1;
这样的编码存入gbk中且不乱码的方法
ml_dark 2011-01-24
  • 打赏
  • 举报
回复
编码类型不同,长度肯定不同,你给的代码,是将UCS2转换成 GBK,其编码方式不同,出来的字节值是在GBK模式下市乱码,造成出来的最后结果是乱码。。

UCS2只能用UCS2来转换,不知道你为什么有这么奇怪的需求

  • 打赏
  • 举报
回复
谁跟你说这编码可以这样进行转换的?

如果没有编码字符映射表,是没有办法转换的。

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧