C#:更改字符串编码?

时间:2015-08-10 12:57:23

标签: c# json string encoding

我正忙着编写一个字符串。

在邮件发送WS上,我收到一个包含“ ”而不是“é”的错误字符串(这是我在Visual Studio的调试模式中至少看到的)。 该角色来自一些JSON,当将WS输入我的DTO时,该JSON被反序列化。

更改JSON的Content-Type并没有解决问题。 所以我想我会自己更改字符串的编码,因为JSON编码似乎是一个VS反序列化问题(如果你们其中一个人想看看它,我就开始了一个线程here)。

我试过了:

Encoding iso = Encoding.GetEncoding("ISO-8859-1");
Encoding defaultEncoding = Encoding.Default;
byte[] bytes = defaultEncoding.GetBytes(messedUpString);
byte[] isoBytes = Encoding.Convert(defaultEncoding, iso, bytes);
cleanString = iso.GetString(isoBytes);

或者:

byte[] bytes = Encoding.Default.GetBytes(messedUpString);
cleanString = Encoding.UTF8.GetString(bytes);

它并没有真正有效......我摆脱了“ ”字符,这是很好的部分,但我收到的是cleanString“?”而不是预期的“é”,这不是很好,或者至少是预期的行为。

1 个答案:

答案 0 :(得分:1)

事实上,我的申请中的每件事情都很好。

我使用SOAPUI进行测试,这是我的错误。 我为我的浏览器下载了一些rest插件,从那里尝试,一切正常。

感谢@MattiVirkkunen提供的帮助