2011年3月22日
<Java> JVA209-文字編碼的轉換
(1) 程式執行後,會將該字串每一個字元轉為16進位(4位數),並將每個字元與字元間的16進位碼以空白分隔顯示
(2) 請將字串轉成BIG5碼,並以16進位顯示出來
(3) 請將轉成BIG5碼的16進位碼轉回原字串並顯示
=============================
import java.io.*;
public class JVA209 {
public static void main(String[] args) {
String str = "JAVA程式";
//將字串str的Unicode碼以16進位表示,並轉成字串。
String str16 = toHexString(str);
System.out.println("Unicode 碼 16 進位 \t" + str16);
//將字串str轉成Big5碼
String strb = unicodeToBig5(str);
//將字串str的Big5碼以16進位表示,並轉成字串。
str16 = toHexString(strb);
System.out.println("Big5 碼 16 進位 \t"+ str16);
//將Big5碼表示的字串strBig5再轉回Unicode碼,得到原字串。
String stru = big5ToUnicode(strb);
System.out.println("原字串 \t\t\t"+ stru);
}
// 方法toHexString接受一個字串當參數,取出字串中每一個字元的16進位碼
// (4位數),再將這些16進位碼串成字串後傳回,每個碼之間用一空白分隔。
public static String toHexString(String str) {
// 請在此寫出本方法的程式碼
String strResult = "";
String s2="";
char c;
for(int i=0; i<str.length(); i++){
c = str.charAt(i);
s2 = "0000" + Integer.toHexString(c);
strResult += s2.substring((s2.length()-4)) + " ";
}
return strResult;
}
// 方法unicodeToBig5接受一個以Unicode表示的字串,
// 將其轉成以Big5表示的字串後傳回。
public static String unicodeToBig5(String str) {
// 請在此寫出本方法的程式碼
String strResult = "";
try{
strResult = new String(str.getBytes("Big5"),"ISO8859_1");
}catch(Exception e){
}
return strResult;
}
// 方法big5ToUnicode接受一個以Big5表示的字串,
// 將其轉成以Unicode表示的字串後傳回。
public static String big5ToUnicode(String str) {
// 請在此寫出本方法的程式碼
String strResult = "";
try{
strResult = new String(str.getBytes("ISO8859_1"),"Big5");
}catch(Exception e){
}
return strResult;
}
}
相關函式說明:
String(byte[] bytes, String charsetName)
參考網站:
Java A+
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言