【发布时间】:2013-04-18 17:30:20
【问题描述】:
我的 WP7 应用程序中有一个字符串。
我需要将此字符串以 UTF-8 格式发送到我的服务器。 如何将任何字符串转换为 UTF-8 格式?
到目前为止我已经尝试过了:
UTF8Encoding utf8 = new UTF8Encoding();
byte[] encodedBytes = utf8.GetBytes(jsonString);
string jsonStringUTF8 = Convert.ToString(encodedBytes);
其中 jsonString 是我需要的 UTF8 格式的字符串。
但是,当我尝试通过以下方式打印新的 jsonStringUTF8 时:
System.Diagnostics.Debug.WriteLine("JsonStringUTF8 is: {0}", jsonStringUTF8);
我得到的是:
JsonStringUTF8 是:System.Byte[]
有什么想法吗?
【问题讨论】:
-
根据您向服务器发送数据的方式,发送
jsonString或encodedBytes。你不需要jsonStringUTF8。 -
我所知道的是服务器接受 utf8 编码的 jsonstring。它是否已经在那个编码中?如果您想看一下,可以在此处找到 WORKS 的等效 iOS 代码:stackoverflow.com/questions/16088288/… 如您在此处看到的,我通过 ASIHttpRequest 库使用了一些编码
-
字符串没有编码。它们是字符串。如果要将字符串发送到服务器,则需要先将其转换为字节。转换为字节需要使用编码。此对话可以由您自己 (
Encoding.UTF8.GetBytes) 完成,也可以由您用于向服务器发送内容的库完成。您还没有告诉我们您使用的是什么库。 (是WebClient吗?) -
是的,你可以在我告诉你的问题中看到我实际上想要做什么
-
@donparalias - 如果你要使用 `Convert.ToString(byte[]) 你必须提供你使用的编码。你得到的结果是意料之中的。
标签: c# windows-phone-7 utf-8