要生成一个Unicode编码的文本文件怎么做?(急,在线等候)

spczhou 2004-04-23 11:08:10
我生成了一个有中文字符的文本文件,但是在英文系统下,看到的中文是乱码,
如果我用UltraEdit编辑器把这个文本文件转换成Unicode,在英文系统下就可以看到中文。
请问,在我生成这个文件时,用什么方法可以直接生成Unicode的文本文件。
...全文
369 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
zealVampire 2004-09-13
  • 打赏
  • 举报
回复
String str="我们";//\u6211\u4eec
char[] array=str.toCharArray();
for(int i=0;i<array.length;i++)
System.out.println(Integer.toHexString(array[i]));
------------------------
6211
4eec
bs221cn 2004-09-13
  • 打赏
  • 举报
回复
cmd
native2ascii 你的文件名 utf文件名

bs221cn 2004-09-13
  • 打赏
  • 举报
回复
native2ascii 你的文件名 utf文件名
bovy 2004-09-12
  • 打赏
  • 举报
回复
unicode 编码格式是通过第一个和第二个字节指定的。
所以生成unicode文件的时候必须指定编码格式

import java.io.FileOutputStream;
public class UnicodeTest {
public UnicodeTest() {
super();
}

public static void main(String[] args) {
String strtmp="你好";
byte b [];
try{
FileOutputStream os = new FileOutputStream("f:/test.txt");
byte[] unicodeMark = new byte[]{-2, -1};
os.write(unicodeMark); // Unicode 编码标记
os.write(strtmp.getBytes());
os.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
bovy 2004-09-12
  • 打赏
  • 举报
回复
unicode 编码格式是通过第一个和第二个字节制定的。
myhotsun 2004-04-27
  • 打赏
  • 举报
回复
再补充一下“你好”的unicode-8码并不是FF FE 60 4F 7D 59 ,而是E4 BD A0
E5 A5 BD,如果使用记事本,声成的unicode-8编码前面会多出几位EF BB BF我想这可能是windows标记这个文件的编码格式为unicode-8。
myhotsun 2004-04-27
  • 打赏
  • 举报
回复
public static void main(String[] args)
{
String strtmp="你好";
byte b [];
try{
RandomAccessFile ra=new RandomAccessFile(System.getProperty("user.dir")+"momo.txt","rw");
b=strtmp.getBytes("utf-8"); //modify
ra.write(b);
ra.close();
}
catch(Exception e)
{
e.printStackTrace();
}

}
myhotsun 2004-04-27
  • 打赏
  • 举报
回复
应该不难啊!java中字符串本身就是以unicode码表示的,使用String.getBytes()方法,然后再将这些字节流写入的文件中不就可以了吗。
spczhou 2004-04-26
  • 打赏
  • 举报
回复
再请教一下常识问题,见笑:
String str="\u597d";
System.out.println(str);
------------------
打印结果为:好

×××××××××××××
如果:
String unicode="597d";
我怎样也能打印出“好”这个字符。
String str="\u"+unicode; //这句有错,因为“\u”是转义字符。也不能用“\\u”
System.out.println(str) ;

spczhou 2004-04-24
  • 打赏
  • 举报
回复
强调一下,由于文本文件是动态生成的,不能让客户每次使用工具手工转换。需要生成的文本文件本身就是unicode文本。因此,native2ascii工具就不用在说了。
zhouhouqu 2004-04-24
  • 打赏
  • 举报
回复
fileoutputstrean
你看看这个东西,这个好像可以实现的,不能用filewriter
moke33 2004-04-24
  • 打赏
  • 举报
回复
就是CoolAbu(阿卜-Never Stop(★★★★))说的那个程序,

native2ascii source.txt target.txt
把你需要转化的文本放在source.txt中间,然后运行上面的命令,就会在target.txt中生成unicode码

如果native2ascii source.txt则会在终端上面显示unicode
hellion1234 2004-04-24
  • 打赏
  • 举报
回复
flyxxxxx(空指針) 的方法应该可行。
我曾经也这样用过。
appleangle 2004-04-24
  • 打赏
  • 举报
回复
学习
3936525 2004-04-24
  • 打赏
  • 举报
回复
学习
vongood 2004-04-23
  • 打赏
  • 举报
回复
UP,不太清楚,到google找找吧。
spczhou 2004-04-23
  • 打赏
  • 举报
回复
生成文件我用的是中文Win2K系统,JDK1.4 ,怎么没人知道怎么解决。
spczhou 2004-04-23
  • 打赏
  • 举报
回复
我确定用户使用的英文系统有中文字体,因为我用UltraEdit编辑器转换好的unicode文本文件,在此英文系统下显示中文正常。
farmer0512 2004-04-23
  • 打赏
  • 举报
回复
转成Unicode编码,英文系统还需要字库和编码对应才能正确显示啊,所以即使你把汉字转成了Unicode编码,但是英文系统没有汉字字体显示肯定是乱码.
moke33 2004-04-23
  • 打赏
  • 举报
回复
native2ascii file.txt
加载更多回复(7)

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧