いちツイートの文字上限を確認してみた

最近、他人の英字ツイートが長くなってる気がするのに、自分の所には文字上限増加が一向に適用されないので、検証してみた。
全角 文字数 絵文字 インターネット 上限 emoji ツイート Tweet Twitter 半角
1
疑問・経緯

(なんか最近の英字ツイートが長くなってる気がするんだけど、自分の所には文字上限増加が一向に適用されないな……?)
 ↓

検証結果まとめ
北宮(ほぼwrite-only状態) @kitamiya
twitterの文字上限、一向に140文字から増えないな…?とか思ってたら、半角英字数(≒バイト数)基準で280文字まで増えてたのか… ……って事は、半角カタカナでも文字数稼げるようになったのか……?
北宮(ほぼwrite-only状態) @kitamiya
■結果:twitter文字数上限: 半角数字:280文字まで 半角英字:280文字まで 半角カタカナ:140文字まで 全角文字:140文字まで …えー……?

(2017/11/28 8:30追記)

北宮(ほぼwrite-only状態) @kitamiya
半角英数字日本語の混在の場合は、例えば「重なり合うTrinity Field」だと、 「重なり合う」で5/140文字換算=10/280文字換算) 「Trinity Field」で13/280文字換算 の合計で、23/280文字換算となる。 (因みに改行も1/280文字換算。)

(2017/11/27 23:30追記)
コメントから引用:

前にちょっち調べたら、 U+10FFまでが1文字、 U+1100以降が2文字、 でカウントして、280文字まで書けるみたいよ。
(夢乃 @iamdreamers さん)

とあったので、気になって調べたら、コード込みのツイートを見つけた:

Fake “Unicode.” ↙️ @FakeUnicode
@umbrellanaut 1/280: [U+0000..10FF] [U+2000..200D] [U+2010..201F] [U+2032..2037] 2/280: everything else (by codepoint) pic.twitter.com/LNZuy4OBc0
拡大

U+1100以降にも微妙に1バイト計算な文字が混じってるけど、概ねコメント通りで、あー、なるほどねー、ってなった。(情報ありがとうございます)

絵文字について追加検証結果

(2017/11/27 23:30追記)

北宮(ほぼwrite-only状態) @kitamiya
参考: emojipedia.org/female-police-… 「👮‍♀️」は内部的に以下の四文字の組み合わせなので、ハンカク7バイト相当になるっぽい 「👮」 U+1F46E:全角1文字相当 「‍」   U+200D:ハンカク1モジソウトウ 「♀」 U+2640:全角1文字相当 「️」 U+FE0F:全角1文字相当
北宮(ほぼwrite-only状態) @kitamiya
同様な理由で、 「👩‍🚒」は内部的に「👩」(U+1F469)+「‍」(U+200D)+「🚒」(U+1F692)なので2+1+2=5バト 「👮」は普通に一文字の「👮」(U+1F46E)で2バイト
北宮(ほぼwrite-only状態) @kitamiya
「✂️」がなんで4バイト換算になるかわからなかったけど、以下サイト参照で、普通の「✂」(U+2702)に、余計な「️」(U+FE0F)がくっついて4バイトになってるのがわかった: apps.timwhitlock.info/unicode/inspec… …絵文字ややこしいね…

.

以下、検証データ
北宮(ほぼwrite-only状態) @kitamiya
letters-count-test-003045678900404567890050456789006045678900704567890080456789009045678901004567890110456789012045678901304567890140456789015045678901604567890170456789018045678901904567890200456789021045678902204567890230456789024045678902504567890260456789027045678902804567890

  (↑280文字)

北宮(ほぼwrite-only状態) @kitamiya
abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij

  (↑280文字)

北宮(ほぼwrite-only状態) @kitamiya
ハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテスハンカクカタカナテス

  (↑140文字)

北宮(ほぼwrite-only状態) @kitamiya
文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:文字数テスト十文字:

  (↑140文字)


(ここから2017/11/27 23:30追記)

北宮(ほぼwrite-only状態) @kitamiya
このほっけはUnicode. だとサロゲートペアな ので更に上限半減か? 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽𩸽 あれー?

  (↑サロゲートペア(4バイト文字みたいなもの)でも通常の全角文字と同じく2バイト扱い)

残りを読む(6)

コメント

夢乃 @iamdreamers 2017年11月27日
前にちょっち調べたら、 U+10FFまでが1文字、 U+1100以降が2文字、 でカウントして、280文字まで書けるみたいよ。
ちはや🌸🐱 @Chihalog 2017年11月27日
ちなみにこの絵文字だとカウンター上で4文字(要するに8文字)減ります→👮‍♀️
夢乃 @iamdreamers 2017年11月27日
絵文字は文字によっていろいろあるみたい。 👩‍🚒…5文字  ✂️…4文字  👮…2文字  だった。UTFのコード範囲と対応できるかなぁ? 誰かよろしく(他力本願(^^;)
北宮(ほぼwrite-only状態) @kitamiya 2017年11月27日
コメントありがとうございます。気になった点を再調査して、記事に追記・反映しました。
夢乃 @iamdreamers 2017年11月28日
おー。単純にU+1100で分割されてるわけじゃないんだ。メモメモ。 .
夢乃 @iamdreamers 2017年11月28日
あ・・・り・・・? 1文字カウントされてるというU+20xxだけど・・・ 「“」(U+200C)、「”」(U+200D)は1文字、 「‥」(U+2015)、「…」(U+2016)は2文字、 でカウントされてる・・・ .
北宮(ほぼwrite-only状態) @kitamiya 2017年11月29日
iamdreamers 確認してみましたが、なぜかコードポイントが0x10ズレてますね… 「―」(U+2015)は1/280換算で、「‥」は(U+2025)なので2/280。同様に 「‖」(U+2016)は1/280換算で、「…」は(U+2026)で2/280。 「“」(U+201C)、「”」(U+201D)は1/280。 (U+20xxはこの範囲だけ1/280:U+2000~200D、U+2010~201F、U+2032~2037)
夢乃 @iamdreamers 2017年11月29日
kitamiya あ、失礼。コード表を見間違ってた。 http://www.shurey.com/js/works/unicode.html 見たんだけど、[U+2000-206F]の範囲、先頭行が全部非表示文字で、タイトル行と見間違ってました・・・(>_<)
ログインして広告を非表示にする
ログインして広告を非表示にする