如何在solaris上产生unicode的文本? 我发现无论如何,java在solaris上产生的文本都是普通dos文本,无法生成unicode文本。请问该如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jdk的bin目录中有个native2ascii的工具,执行这个工具可以将中文转换成unicode文本,windows下打开cmd,切换到before.lang文件下输入native2ascii before.lang afer.langu。会生成after.langu的unicode文件。solaris上就不知道了,我想应该差不多吧! 我不是要把文件里的所有字符转换成类似\uxxxx的形式,而是要生成一个unicode编码的文本文件,用记事本什么的一打开就是正常的文本。我试了很多办法了,在windows上可以,但是在solaris上就是不行 你试试下面这段代码:package redtroy.test;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class String2UTF8 { public String2UTF8() { } public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c >= 0 && c <= 255) { sb.append(c); } else { byte[] b; try { b = Character.toString(c).getBytes("utf-8"); } catch (Exception ex) { System.out.println(ex); b = new byte[0]; } for (int j = 0; j < b.length; j++) { int k = b[j]; if (k < 0) { k += 256; } sb.append("%" + Integer.toHexString(k). toUpperCase()); } } } return sb.toString(); } public static void main(String args[]) { System.out.println(String2UTF8.toUtf8String("S0507010002热血秒月互换1x0.0.txt")); }} 我已经知道为什么了。因为pc机和sun box的cpu的工作方式不同,同样是unicode,一个把高位放在前面,一个把低位放在前面。所以在solaris上产生的unicode编码的文本下载到windows上无法阅读。请问如何解决这个问题啊?有什么方法可以使solaris按照windows的高位低位方法来处理unicode字符串啊? public class 区别的问题 求解 关于jTable中放JComboBox的问题 ????????? 请高手帮小弟清下脑子! 求大家帮我看看java连接db2数据库的问题,似乎很简单,但就是连接不上, 求助!! JAVA中如何创建数据库? 怎样在打开文件时只接受.xxx后缀名的文件? applet能不能存取本地文件啊? 求助:Java实现矩阵各种运算 ++100分。答对就有分 使用JDBC出现的问题
package redtroy.test;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class String2UTF8 {
public String2UTF8() {
} public static String toUtf8String(String s) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
}
else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
}
catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) {
k += 256;
}
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
} public static void main(String args[]) {
System.out.println(String2UTF8.toUtf8String("S0507010002热血秒月互换1x0.0.txt"));
}}