萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1174|回复: 8

问个文本编码转换的问题

[复制链接]
发表于 2004-11-26 21:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
一个文本是Unicode big endian编码,如果将其转换为UTF-8或者ansi?

谢谢
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2004-11-26 22:05 | 显示全部楼层
补充一下,我的目的就是用java读取文本的内容,但用unicode big endian编码的文本读到的内容是字符间插了好多小方格,如果把小方格拿掉就对了。我截了幅图。

其实用excel打开这种文本在另存成txt文件就变成ansi编码,但是一个一个文件这样弄实在太麻烦了,有几千个这样的文件待处理。

在重复一下我的问题,如果用java正确读出unicode big endian编码的文本?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-11-26 23:14 | 显示全部楼层
用文本打开,再另存为你想要的格式,不知道理解的对不对。我用手机看小说的时候也有这样的转换格式问题,都是这样解决的
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2004-11-26 23:27 | 显示全部楼层
谢谢楼上的回答,不过没有解决问题。

而且很明显你没有看我第二个帖子,^_^
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-11-26 23:53 | 显示全部楼层
参考java.nio.charset.Charset的API说明,我想可以解决你的问题。

Charset.forname("UTF-16BE") 创建一个Charset实例,然后调用decode可以返回Unicode编码。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2004-11-27 13:45 | 显示全部楼层
多谢不服兄的答复。不过我实在不想用excel的宏。

用java就无法读取unicode big endian编码的文本么?下面是一小段code,理论上没有问题,不知为什么程序就是作不下去。
File file = null;
InputStreamReader in = null;
BufferedReader buf_reader = null;
String line;
file = new File("cs123.txt");
try
{
in = new InputStreamReader(new FileInputStream(file),"UTF-16BE");
System.out.println(in.getEncoding());
buf_reader = new BufferedReader(in);
while((line = buf_reader.readLine())!=null)      到这里就作不下去了
System.out.println(line);
}
如果有朋友感兴趣,我把unicode big endian编码的文本给你发过去,多谢。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-11-27 16:51 | 显示全部楼层
你这样输出的是Unicode吧。如果用普通的文本编辑器打开(按ANSI解码),好像就是会有空格的。你试着,一个一个字符输出看看。或者Debug一下,看看到底内存的数据是什么样的。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-12-2 23:02 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-12-4 01:34 | 显示全部楼层
Java绝对可以做。而且应该不难。只要Encoding,Decoding设对了,肯定很简单。只不过最近比较忙,没时间仔细试了。

[ Last edited by GilbertLi on 2004-12-4 at 08:35 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-3-12 15:02 , Processed in 0.073007 second(s), 20 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表