站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题UTF8 to GBK,我总是搞不定编码问题啊!

UTF8 to GBK,我总是搞不定编码问题啊!

摘要: UTF8 to GBK,我总是搞不定编码问题啊!


用socket读出来bytes是UTF8编码的,我要转成GBK,却没反应:new String(bytes,"GBK").


String gb = new String (name.getBytes(iso8859-1),"UTF-8");


hehe, 既然你的 bytes 是 UTF8 的,那就应该是
String str = new String(bytes, "UTF-8");
byte[] ba = str.getBytes("GBK");



maquan('ma:kju) 说得对,支持一下


"要转成GBK",不是酱紫的。

maquan('ma:kju) 说得对,支持。

推荐搂主看文章:
http://www.regexlab.com/zh/encoding.htm



啊,真的呀,我要试试咯,我怎么记成是
byte[] bytes= str.getBytes(sourceEncoding);
String str = new String(bytes, destEncoding);



我来给楼主补补基础知识:
UTF8是Unicode的一种,其特点是会根据内容不同采取不定长的存储策略,比如对于英文字母它会采取ascii码一样的8位存取,而对于中文这种数据量要求大的,它会采取32位存取。
相对应的是UTF16,它的特点是全部采用16位编码表示所有内容。java内部机制都是采用UTF16,所以java中的char是16位的,而不是8位的。


↑返回目录
前一篇: 怎样获得磁盘容量?(一百分的问题哦)
后一篇: SWT中有没有类似JFileChooser的东西?