Java 如何转换成西里尔语
你好 我从服务器上得到了这样的字符串Java 如何转换成西里尔语,java,string,type-conversion,decode,Java,String,Type Conversion,Decode,你好 我从服务器上得到了这样的字符串 \u041a\u0438\u0441\u0435\u043b\u0435\u0432 \u0410\u043d\u0434\u0440\u0435\u0439 我需要把它转换成西里尔字母cp-1251字符串 我该怎么做?谢谢。如果这是一个必须解码的文字字符序列,您需要先从以下内容开始(假设您的输入是字符串输入): 此时,您应该在decodedInput中拥有输入的java字符串表示 如果您的系统支持cp-1251字符集,则可以通过以下方式将其转换为cp-1
\u041a\u0438\u0441\u0435\u043b\u0435\u0432 \u0410\u043d\u0434\u0440\u0435\u0439
我需要把它转换成西里尔字母cp-1251字符串
我该怎么做?谢谢。如果这是一个必须解码的文字字符序列,您需要先从以下内容开始(假设您的输入是字符串输入): 此时,您应该在decodedInput中拥有输入的java字符串表示 如果您的系统支持cp-1251字符集,则可以通过以下方式将其转换为cp-1251:
Charset cp1251charset = Charset.forName("cp-1251");
ByteBuffer output = cp1251charset.encode(decodedInput.toString());
这没用。字符集将输入字符串的每个字符转换为字节。所以\u041a转换为6个字节,但必须转换为2个字节04+1a。对不起,我以为您显示的是java字符串表示-我没有意识到这是一个文字字符序列。更新了我的答案。哇。这太奇怪了——这么简单的任务需要复杂的技巧。谢谢你-你让我开心。。。
Charset cp1251charset = Charset.forName("cp-1251");
ByteBuffer output = cp1251charset.encode(decodedInput.toString());