1.默认字符集
String.getBytes()
new String(byte[])
以上两个字符串相关方法,如果没有传递字符集服务启动的时候会取系统的默认编码,
可以通过
echo $LANG
或者locale查看linux系统编码,如下图所示,表示我的系统是UTF-8编码
Java虚拟机会在启动的时候取到系统默认编码后,并设置进
System.setProperty("file.encoding",$LANG)
最好使用
str.getBytes(charset)
new String(byte[],charset)
2.样例代码
package file;
public class EncodingExample {
public static void main(String[] args) {
String encoding = System.getProperty("file.encoding");
System.out.println(encoding);
String str = "字符编码";
System.out.println(str + "按照" + encoding +"编码后,十六进制表示为:");
System.out.println(byteArrayToHexString(str.getBytes()));
}
/**
* 字节数组转十六进制
* @param data
* @return
*/
public static Str