16文字化けし問題の原因と解決方法
1266 ワード
発生原因:符号化と復号符号化が一致しない符号化:文字---符号化文字セット---バイナリ復号:バイナリ---復号文字セット---文字解決方法:
package convertIO;
import java.io.UnsupportedEncodingException;
// ,
public class Convert {
public static void main(String[] args)
throws UnsupportedEncodingException {
// utf-8( )
// byte---->char
String str = " ";
// char--->byte
byte[] data = str.getBytes();
//
System.out.println(new String(data));
//
data = str.getBytes("gbk");
// ,
System.out.println(new String(data));
//
byte[] data2 = " ".getBytes("gbk");
//
str = new String(data2,"gbk");
System.out.println(str);
}
}
バイト欠落による文字化けし
package convertIO;
public class Convert2 {
public static void main(String[] args) {
// byte---->char
String str = " "; //utf-8
// char--->byte
byte[] data = str.getBytes();
//
// gbk, 4 3
System.out.println(new String(data,0,4));
}
}