Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
文字数はおいくら?(Ruby版)
Search
tsuda.a
April 05, 2014
Programming
25
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
文字数はおいくら?(Ruby版)
サロゲート文字とか合字とか異体字とかの文字数を取得してみました。
tsuda.a
April 05, 2014
More Decks by tsuda.a
See All by tsuda.a
Git を GUI で使う話
tsudaahr
0
140
マジカルインクリメントと指数表記
tsudaahr
0
290
バックアップしていますか?
tsudaahr
0
170
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
180
NPUわからん
tsudaahr
0
230
計算量オーダーの話
tsudaahr
1
490
クラウド初学者が抱える不安について
tsudaahr
0
470
キューとは何か
tsudaahr
0
310
等幅は死んだ(ぇ
tsudaahr
0
150
Other Decks in Programming
See All in Programming
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
140
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.9k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
330
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.4k
setup-vp GitLab対応の裏側
naokihaba
0
150
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
210
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
290
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
530
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
840
APNsからLive Activityを開始する話
yumnumm
0
150
SREの越境 / SRE Collaboration
y0hgi
2
290
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
WENDY [Excerpt]
tessaabrams
14
40k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Making Projects Easy
brettharned
120
6.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Writing Fast Ruby
sferik
630
63k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Building AI with AI
inesmontani
PRO
1
1.3k
Evolving SEO for Evolving Search Engines
ryanjones
0
300
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 は処理系によって値が異なることがある。 内部はどういうデータで保持しているかを想像してほしい。 入力するユーザー(一般の人)は無慈悲だ。 #
システムの都合は察してくれない
おわり ありがとうございました