怎么将Shift_JIS编码的字符串转换成utf-8或者gbk编码的字符串?
问题描述:
rt。是在j2se里面。
[b]问题补充:[/b]
就是在字符串里有类型关这样的编码,如何把它输出成utf-8格式的中文或者日文字符。
答
这个问题, 是HTML实体转换的过程。 需要你手动转的。
关 直接去掉, 转成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的大部分字符。 但是, 你要做一一映射。 不知道这个事情是不是有人做过。
不过, 我还是想知道,你转化的目的是什么,