Java Internalization - การแปลง Unicode จาก / เป็น String
ใน java ข้อความจะถูกเก็บไว้ภายในในรูปแบบ Unicode หากอินพุต / เอาต์พุตอยู่ในรูปแบบที่แตกต่างกันก็จำเป็นต้องมีการแปลง
การแปลง
ตัวอย่างต่อไปนี้จะแสดงการแปลง Unicode String เป็น UTF8 byte [] และ UTF8 byte [] เป็น Unicode byte []
IOTester.java
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.text.ParseException;
public class I18NTester {
public static void main(String[] args) throws ParseException, UnsupportedEncodingException {
String unicodeString = "\u00C6\u00D8\u00C5" ;
//convert Unicode to UTF8 format
byte[] utf8Bytes = unicodeString.getBytes(Charset.forName("UTF-8"));
printBytes(utf8Bytes, "UTF 8 Bytes");
//convert UTF8 format to Unicode
String converted = new String(utf8Bytes, "UTF8");
byte[] unicodeBytes = converted.getBytes();
printBytes(unicodeBytes, "Unicode Bytes");
}
public static void printBytes(byte[] array, String name) {
for (int k = 0; k < array.length; k++) {
System.out.println(name + "[" + k + "] = " + array[k]);
}
}
}
เอาต์พุต
มันจะพิมพ์ผลลัพธ์ต่อไปนี้
UTF 8 Bytes[0] = -61
UTF 8 Bytes[1] = -122
UTF 8 Bytes[2] = -61
UTF 8 Bytes[3] = -104
UTF 8 Bytes[4] = -61
UTF 8 Bytes[5] = -123
Unicode Bytes[0] = -58
Unicode Bytes[1] = -40
Unicode Bytes[2] = -59
พิมพ์