Twitter消息长度计数

时间:2018-10-14 20:21:14

标签: c# twitter message tweets

这是来自Twitter文档:https://developer.twitter.com/en/docs/basics/counting-characters.html

“ Twitter使用文本的规范化形式C(NFC)版本来计算Tweet的长度。Twitter还计算文本中代码点的数量,而不是UTF-8字节。”

它适用于西方语言。但是,当我将FormC规范化应用于以下内容时,例如:

(我用韩文发布了一个示例,但是stackoverflow认为它是垃圾邮件,因此我不允许发布)

我得到的值为160。在Twitter的Web客户端上,这是最大的可用消息-甚至添加一个字符都超过了限制。

将FormD应用于上面的值超过300。

由于Twitter的限制是140或280,所以我真的不明白Twitter如何确定该邮件的字符数。

那么-我怎么能弄清楚一条推文对于非西方语言的实际消息长度是多少?

要规范化的代码,在c#中:

    private static int GetCodepointLength(string inp)
    {
        var info = new StringInfo(inp.Normalize(NormalizationForm.FormC));
        return info.LengthInTextElements;
    }

0 个答案:

没有答案