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
17
文字数はおいくら?(Ruby版)
サロゲート文字とか合字とか異体字とかの文字数を取得してみました。
tsuda.a
April 05, 2014
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
マジカルインクリメントと指数表記
tsudaahr
0
220
バックアップしていますか?
tsudaahr
0
130
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
140
NPUわからん
tsudaahr
0
190
計算量オーダーの話
tsudaahr
1
420
クラウド初学者が抱える不安について
tsudaahr
0
300
キューとは何か
tsudaahr
0
260
等幅は死んだ(ぇ
tsudaahr
0
110
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
200
Other Decks in Programming
See All in Programming
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
並行開発のためのコードレビュー
miyukiw
0
1.1k
CSC307 Lecture 05
javiergs
PRO
0
500
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
CSC307 Lecture 07
javiergs
PRO
1
560
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
CSC307 Lecture 08
javiergs
PRO
0
670
2026年 エンジニアリング自己学習法
yumechi
0
140
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
610
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.6k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Technical Leadership for Architectural Decision Making
baasie
2
250
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
470
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
170
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 は処理系によって値が異なることがある。 内部はどういうデータで保持しているかを想像してほしい。 入力するユーザー(一般の人)は無慈悲だ。 #
システムの都合は察してくれない
おわり ありがとうございました