怎么将Shift_JIS编码的字符串转换成utf-8或者gbk编码的字符串?

怎么将Shift_JIS编码的字符串转换成utf-8或者gbk编码的字符串?

问题描述:

rt。是在j2se里面。
[b]问题补充:[/b]
就是在字符串里有类型关这样的编码,如何把它输出成utf-8格式的中文或者日文字符。

这个问题, 是HTML实体转换的过程。 需要你手动转的。

&#20851 直接去掉, 转成char c = (char)Integer.parseInt("20851");

以后问问题精确点啊,

首先, 我提醒下你, 你的说法不正确, 在JAVA里, 没有所谓XXX字符集的串。 另外一个不正确的说法是, 严格来说, 把日文的编码转到GBK编码的说法是不正确的。

在JAVA内部, 任何字符集合的输入都会被转化成unicode. 只是输出的时候, 才能使用上XXX转为YYY的概念。

所以, 你可以这么做转化到一个UTF8

为了方便说明, 我用了jakarta io util的API:

String html = FileUtils.readFileToString(File, "xxx-JIS");

FileUtils.writeStringToFile(yourfile, html, "UTF-8");

这样你得到是一个UTF8的输出文件。

另外, 把xxx-JIS转化成GBK, 这个说法严格来说不正确。 当然, 我们伟大的国家把这事情想到了, 在GBK里有日文xxx-JIS的大部分字符。 但是, 你要做一一映射。 不知道这个事情是不是有人做过。

不过, 我还是想知道,你转化的目的是什么,