5

我有 UTF8 编码的字符串,但我需要在 cp1251 中将参数发布到运行时进程。如何解码字符串或字节数组?

我需要这样的东西:。bytesInCp1251 = encodeTo(stringInUtf8, "cp1251");


谢谢大家!这是我自己的解决方案:

OutputStreamWriter writer = new OutputStreamWriter(out, "cp1251");
writer.write(s);
4

3 回答 3

9

Java中没有“UTF8 编码字符串”之类的东西。Java 字符串在内部使用 UTF-16,但应该被视为没有特定编码的抽象。如果你有一个字符串,它已经被解码了。如果要对其进行编码,请使用string.getBytes(encoding). 如果您的原始数据是 UTF-8,则在将该数据从字节转换为字符串时必须考虑到这一点。

于 2010-10-26T09:32:59.837 回答
5
byte[] bytesInCp1251 = stringInUtf8.getBytes("cp1251");
于 2010-10-26T09:24:12.743 回答
1

这是解决方案!

OutputStreamWriter writer = new OutputStreamWriter(out, "cp1251");
writer.write(s);
于 2010-10-26T09:41:26.343 回答