从字符串(波兰字体)编码字节数组

时间:2012-02-28 10:58:09

标签: c# string encoding

我无法处理我的语言编码(波兰)。 当我写żółw时,它就像一个魅力,但当我写ślimak时,我的数组中没有ś

我也试过了UTF-8,但没有结果。 这是1250年的编码。使用ż,ó,ł,而不是ą,ź...

byte[] buffer = Encoding.GetEncoding(1250).GetBytes(postdata);

以上代码用于与Web服务器通信,因此我认为问题出在沟通之前。


也试过:

byte[] buffer = Encoding.GetEncoding(28592).GetBytes(postdata); //iso-8859-2 Central European (ISO) 

解决了,iso-8859-2 Central European (ISO)是正确答案。 (我正在运行旧的exe项目文件)。

2 个答案:

答案 0 :(得分:2)

你不应该期望数组中有ś;它需要编码,编码值不同。我建议在这里使用UTF-8,在这种情况下,你应该期望输出中有0xC5 0x9B,因为它是ś的UTF-8编码。

如果使用28592,则0xB6是编码形式,并成功往返。

答案 1 :(得分:0)

byte[] buffer = Encoding.GetEncoding(28592).GetBytes(postdata); //iso-8859-2 Central European (ISO) 

解决了,iso-8859-2 Central European (ISO)是正确答案。 (我正在运行旧的exe项目文件)。