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
WindowsにおけるRubyのエンコーディングの話 Ruby3版/Ruby's encodi...
Search
usa
April 17, 2020
Technology
0
420
WindowsにおけるRubyのエンコーディングの話 Ruby3版/Ruby's encoding on Windows at Ruby3
Ruby3サミット(2020-04-17)
usa
April 17, 2020
Tweet
Share
More Decks by usa
See All by usa
Rubyの安定版を保守する意義 / Why we maintain stable versions of Ruby?
unak
0
130
PIXIV TECH FES. short session / What kind of contribution to OSS is really pleased?
unak
0
2.1k
Internal of the image processing required on the developing of web applications
unak
6
5.1k
Schrödinger's branch, or Ruby is dead every year
unak
0
720
talk about IO
unak
5
1.9k
Other Decks in Technology
See All in Technology
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
0
110
Maintainer Meetupで「生の声」を聞く ~講演だけじゃないKubeCon
logica0419
0
110
Amazon SNSサブスクリプションの誤解除を防ぐ
y_sakata
3
190
ClaudeCodeにキレない技術
gtnao
1
860
[SRE NEXT 2025] すみずみまで暖かく照らすあなたの太陽でありたい
carnappopper
2
470
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
290
SRE不在の開発チームが障害対応と 向き合った100日間 / 100 days dealing with issues without SREs
shin1988
2
2k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.7k
ポストコロナ時代の SaaS におけるコスト削減の意義
izzii
1
470
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.3k
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
180
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
500
Featured
See All Featured
Faster Mobile Websites
deanohume
308
31k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
It's Worth the Effort
3n
185
28k
YesSQL, Process and Tooling at Scale
rocio
173
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
The Invisible Side of Design
smashingmag
301
51k
Done Done
chrislema
184
16k
What's in a price? How to price your products and services
michaelherold
246
12k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
520
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Transcript
Windowsにおける Rubyのエンコーディングの話 Ruby3版 pixiv Inc. @Ruby3さみっと 2020.4.17
2 自己紹介 • Rubyのコミッタ ◦ Windows ◦ 安定版(今は2.6と2.5) ▪ 古いRubyを殺す係
• おしごとは画像変換・配信の仕組みを作ること
3 Ruby3でWindows版の エンコーディングが どうなるか 今日のお話
4 Ruby3では 全部UTF-8にするぞ! 結論
5 おしまい
6 ……これだけ、というのは あまりにもあんまりなので、 どういう話なのか一応解説
7 CodePage 背景
8 MS-DOS(知ってる?) 背景
9 MS-DOS由来 : OEM CodePage 古き良きコンソール画面用 ハードウェアに依存 背景
10 16bit Windows由来 : ANSI CodePage グラフィカル画面用 ソフトウェア的に表示 背景
11 32bit Windows由来 : UTF-16LE (※CodePageではないが) WindowsのAPI(いわゆるW版) 背景
12 ファイルシステムのエンコーディング MS-DOS時代からの資産を継承 → OEM CodePage 背景
13 I/Oのエンコーディング WindowsのAPI(いわゆるA版) → ANSI CodePage 背景
14 Ruby 1.8まで ANSI CodePageベース OEM CodePageとの違いは無視 Rubyでは?
15 Ruby 1.9から 多言語化の仕組みが入った 互換性を保つため、Windowsでは、 ・I/OはANSI CodePage ・ファイルシステムはOEM CodePage Rubyでは?
16 Ruby 2.0から スクリプトのエンコーディングの デフォルトがUTF-8になった Rubyでは?
17 結果、どうなったか? → ANSI CP、OEM CP、UTF-8が 入り乱れた状態 Rubyでは?
18 「全部UTF-8に統一しろよ!」 いや、わかる、わかるんだが、 今までのコード資産を守るために 互換性を保たないと…… Rubyでは?
19 202X、殺伐としたRuby界に 颯爽とRuby3が!!! → メジャーバージョン上がるなら 互換性壊しても、いいよね? Rubyでは?
20 Ruby3では 全部UTF-8にするぞ! 結論
21 今度こそ おしまい