汉字内码转换的问题!(100分)

  • 主题发起人 主题发起人 kinn_liu
  • 开始时间 开始时间
K

kinn_liu

Unregistered / Unconfirmed
GUEST, unregistred user!
JAVA的APPLICATION,其中作如下转换:
在一个JBUTTON的脚本:
void jButton1_actionPerformed(ActionEvent e) {
byte[] TMP1,TMP2;
String ORG,CHG;
ORG = jTextField1.getText();
try{
TMP1 = ORG.getBytes();
CHG = new String(TMP1,"ISO-8859-1");
TMP2 = CHG.getBytes();
//写入文件
try{
FileOutputStream F = new FileOutputStream("d://GB");
F.write(TMP2);
F.flush();
F.close();
}
catch (IOException x){}
}
catch(Exception x){}
}
}
出现的问题是:写入文件后,在文件中都是‘?’这种符号,而我在JB4中调试时,可以
看见变量CHG中是一些不同的字符,怎么回事呀?
 
给分吧。
问题在你的
TMP2 = CHG.getBytes();
上,你拿ISO-8859-1构建的字符串怎么能用系统缺省的字符集去取呢。

TMP2 = CHG.getBytes("ISO-8859-1");
读出来再写到文件里去就OK了。
其实字符串CHG里的内容是正确的,就像用JB4调试时候看到的,
只不过你用getBytes读出来的时候被系统字符集转换错了。
 
接受答案了.
 
后退
顶部