Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
文字数はおいくら?(Ruby版)
Search
tsuda.a
April 05, 2014
Programming
0
13
文字数はおいくら?(Ruby版)
サロゲート文字とか合字とか異体字とかの文字数を取得してみました。
tsuda.a
April 05, 2014
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
バックアップしていますか?
tsudaahr
0
53
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
61
NPUわからん
tsudaahr
0
110
計算量オーダーの話
tsudaahr
1
290
クラウド初学者が抱える不安について
tsudaahr
0
160
キューとは何か
tsudaahr
0
160
等幅は死んだ(ぇ
tsudaahr
0
33
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
110
何のために文字数をカウントするのか?
tsudaahr
0
42
Other Decks in Programming
See All in Programming
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
3
1.2k
React CompilerとFine Grained Reactivityと宣言的UIのこれから / The next chapter of declarative UI
ssssota
1
100
CSC509 Lecture 13
javiergs
PRO
0
110
色々なIaCツールを実際に触って比較してみる
iriikeita
0
340
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
110
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
280
Remix on Hono on Cloudflare Workers
yusukebe
1
300
Ethereum_.pdf
nekomatu
0
470
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Quine, Polyglot, 良いコード
qnighy
4
650
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
The Language of Interfaces
destraynor
154
24k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
900
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Code Review Best Practice
trishagee
64
17k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Speed Design
sergeychernyshev
25
620
Transcript
文字数はおいくら? (Ruby版) @tsuda_ahr 2014/4/5 LTDD広島 #2
1.サロゲート文字の場合 puts "𩹉".length ※サロゲート文字とは、文字コードが U+10000 以上の文字をいいます。(かなり嘘かも)
1.サロゲート文字の場合 こたえ 1
1.サロゲート文字の場合 サロゲート文字でも、 正しく文字数を答える模様。
2.合字の場合 puts "を ゙".length puts "が".length puts "が".length
2.合字の場合 こたえ 2 2 1
2.合字の場合 合字の構成要素数が文字数として戻る。
3.異体字の場合 puts "辻".length puts "辻󠄀".length
3.異体字の場合 こたえ 1 2
4.C#だとこんな感じ Ruby C# サロゲート 𩹉 (U+29E49) 1 2 合字 を
゙ (U+3092 U+3099) 2 2 が (U+304B U+3099) 2 2 が (U+304C) 1 1 異体字 辻 (U+8FBB) 1 1 辻󠄀 (U+8FBB U+E0100) 2 3 内部がUTF-16なので、 サロゲート領域(U+10000以上) の文字は 2 でカウントされる。
5.結論 Ruby 結構優秀! (割と素直) (というか内部が多分UTF-8)
蛇足) 気にしてほしいこと String.Length は処理系によって値が異なることがある。 内部はどういうデータで保持しているかを想像してほしい。 入力するユーザー(一般の人)は無慈悲だ。 #
システムの都合は察してくれない
おわり ありがとうございました