UTF8 to GBK,我总是搞不定编码问题啊! 用socket读出来bytes是UTF8编码的,我要转成GBK,却没反应:new String(bytes,"GBK"). 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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位的。 HTML5 求教数组在接口中的定义问题 scjp的问题 Java题目(帮我看看哪些是不对的) 一个动态绑定问题,请教知情者 package的使用 我的第一个GUI 小窗口就出现错误了。 求助 关于类型转换的问题 关于使用applet打开Web页面 关于子类继承父类时的一些疑惑 怎么使组件失效啊 没办法,想不出什么好方法了,求解!!!
String str = new String(bytes, "UTF-8");
byte[] ba = str.getBytes("GBK");
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位的。