如何在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字符串啊? 字符串模糊匹配的实现 刚学完C再学java,感觉有点不适应 强制运行,结果正确,却提示一个错误(线程问题) ANT如何打JAR包 Print函数 调试出错, 帮忙看一下问题出在那里啊? 求高手指点eclipse的界面部分实现 学习java的困惑 我是JAVA论坛的新成员,也是刚刚开始接触JAVA的菜鸟。望大家多多帮助我! 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"));
}}