【问题标题】:How do I encode diacritics for Twitter updates?如何为 Twitter 更新编码变音符号?
【发布时间】:2010-02-22 21:16:35
【问题描述】:

我有自己的 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 错误。

有什么想法吗?

【问题讨论】:

    标签: c# .net twitter character-encoding


    【解决方案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();
    

    【讨论】:

    • 您在使用 OAuth 吗?由于我使用的是 OAuth,所以我不会将字节数据写入流中。
    猜你喜欢
    • 2021-10-27
    • 2012-01-31
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2014-12-21
    • 1970-01-01
    相关资源
    最近更新 更多