ss 是gbk编码字符串request = new String(ss.getBytes("GBK"), "UTF-8");
databyte = request.getBytes();
-----
request =ss;
databyte = request.getBytes("UTF-8");
----------------------------------------------------------
请问这两种方式获取的bytes的区别是什么?
databyte = request.getBytes();
-----
request =ss;
databyte = request.getBytes("UTF-8");
----------------------------------------------------------
请问这两种方式获取的bytes的区别是什么?
解决方案 »
- JTree右键弹出菜单,当文件夹展开时出问题?跪求大虾调试
- 关于jdbc的问题!
- 2个jdk的问题
- 请问菜单跟标签和文本框能放在同一行吗?
- java人聚集的地方
- 求jaav与模式电子完全版本
- 有没有高手能把class中的文件中的一些乱码 翻成GB2312的。百分送上
- OPEN_DIALOG
- 一个另我郁闷以久的问题,还请各位高手多多指教!先谢过各位了!
- 用Java反射,对B对象进行深度复制,B中含有List<A >属性,A 要求实例化为a ,再调用 a.setxx(B); 如何实现?
- spring 事务回滚问题
- Java 如何让相同的多个对象进入一个方法中,让他们在一个方法中先后一次执行合并成一条数据
不指定就默认是ISO-8859-1转换,跟进这个方法的源码看下就知道了!
但楼上说的并不对,getBytes()和String构造方法未指定字符集是按照当前操作系统的默认字符集操作的。比如我在中国大陆用windows就是GB系列的字符集,要验证这个问题很简单只要执行下面代码即可:
byte[]b={(byte)0xcd,(byte)0xf5};
String str=new String(b);
String str1=new String(b,"gb2312");
String str2=new String(b,"iso8859-1");
String str3=new String(b,"utf-16be");
输出,只要看看123哪个跟str一样就可以了。
但楼上说的并不对,getBytes()和String构造方法未指定字符集是按照当前操作系统的默认字符集操作的。比如我在中国大陆用windows就是GB系列的字符集,要验证这个问题很简单只要执行下面代码即可:
byte[]b={(byte)0xcd,(byte)0xf5};
String str=new String(b);
String str1=new String(b,"gb2312");
String str2=new String(b,"iso8859-1");
String str3=new String(b,"utf-16be");
输出,只要看看123哪个跟str一样就可以了。
从你的回答中,我还是不明白我提出的问题中两种方式获取的byte是什么区别