如何为Twitter更新编码变音符号?

时间:2010-02-22 21:16:36

标签: c# .net twitter character-encoding

我有自己的Twitter API,并且在尝试发布带有重音符号和其他变音符号的状态更新时,我收到了一些关于问题的电子邮件。我想对这些进行编码,以便状态更新仍然具有它们。

我知道有办法删除变音符号,但我想保留它。

我阅读了Twitter Counting Characters页面并注意到他们确实谈到了对变音符号的编码。我想在C#中这样做。我只是不确定该怎么做。

以下是Twitter API http://code.google.com/p/twitter-api/issues/detail?id=433

的原始错误报告

我尝试过使用..

 string oldStatus = "con eñe";
 string newStatus = oldStatus.Normalize(NormalizationForm.FormD);

我已尝试使用FormCFormKCFormKD,我遇到401 - Unauthorized错误或Invalid Unicode value in one or more parameters错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这有帮助吗?我测试了这个来自的应用程序,它在您的帖子中使用变音符号成功发布了我的更新(并且长度为140个字符)。

HttpWebRequest request = CreateRequest("https://twitter.com/statuses/update.xml", "POST", 
username, password);
string str = HttpUtility.UrlEncode(status);
byte[] buffer = new UTF8Encoding(false, false).GetBytes("status=" + str);
using (Stream stream = request.GetRequestStream())
{
    stream.Write(buffer, 0, buffer.Length);
}
request.GetResponse().Close();