Twitterの280文字tweetのカウント方法
たぶんこういう計算
str.split(//u).map{|i| i.bytes.length > 1 ? 2 : 1}.reduce(:+)
https://gyazo.com/1c72f85dce591750e7cd8dcb68c5de8c
twもこの文字カウント方法で280文字判定すれば良さそうだ Array.from(str).map(i => Buffer.byteLength(i) > 1 ? 2 : 1).reduce((a, b) => a + b)
https://gyazo.com/5f0f6e2d0077e9336b5cc177ec166cba
調査
279文字入力した所
https://gyazo.com/30ae77e48726fd02636e3e21033d53bc
ここから半角の文字を1文字入力すると280文字になる
https://gyazo.com/a22fc3931cc23a571312bcbf45d01348
日本語や絵文字など、マルチバイト文字は2文字として計算されるので残り文字数が-1になる https://gyazo.com/0b02fe0ca30b4758aaa5fed65f85f030
https://gyazo.com/d902dbcc94ad3bfc06f17ed6b02b46fe
https://gyazo.com/f28f289e6393d794e9d4a9a921b1bd9a
国旗絵文字のLigatureは4文字
https://gyazo.com/ea3514dacdd6b67d44b537d49181edd6
家族絵文字が14文字になるのは
splitしてみると間に空文字が入っている事がわかる
https://gyazo.com/4c9cdbc2301f9b1c8d9c3a0d7e9255bb
https://gyazo.com/7265d9529e7c7d626e730f39dc6c90f3
色々あるのだな
https://gyazo.com/00aeeef26927ca846e69fd08f0e5f437
APIはまだ280文字だめだった
https://gyazo.com/085f5f570f755d5465cdaf9a847d9fdc