Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
WindowsにおけるRubyのエンコーディングの話 Ruby3版/Ruby's encoding on Windows at Ruby3
usa
April 17, 2020
Technology
0
150
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
49
PIXIV TECH FES. short session / What kind of contribution to OSS is really pleased?
unak
0
1.6k
Internal of the image processing required on the developing of web applications
unak
5
4.4k
Schrödinger's branch, or Ruby is dead every year
unak
0
580
talk about IO
unak
4
1.4k
Other Decks in Technology
See All in Technology
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
130
PCI DSS に準拠したシステム開発
yutadayo
0
300
Periodic Multi-Agent Path Planning
hziwara
0
110
データベースの発表には RDBMS 以外もありますよ
maroon1st
0
230
Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG
tutsunom
1
200
MoT/コネヒト/Kanmu が語るプロダクト開発xデータ分析 - 分析から機械学習システムの開発まで一人で複数ロールを担う大変さ
masatakashiwagi
3
670
OpenShiftのリリースノートを整理してみた
loftkun
2
300
IoTを始めたきっかけの話と個人でできるIoTの今後 / 新年LT会「私の愛するIoT 2023」
you
0
220
WebLogic Server for OCI 概要
oracle4engineer
PRO
3
870
OPENLOGI Company Profile
hr01
0
12k
20230121_データ分析系コミュニティ_サテライト企画
doradora09
0
520
「一通りできるようになった」その先の話
hitomi___kt
0
110
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
6
4.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
Bootstrapping a Software Product
garrettdimon
299
110k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
1.2k
The Art of Programming - Codeland 2020
erikaheidi
35
11k
Ruby is Unlike a Banana
tanoku
93
9.5k
A designer walks into a library…
pauljervisheath
199
16k
KATA
mclloyd
12
9.7k
jQuery: Nuts, Bolts and Bling
dougneiner
57
6.6k
Music & Morning Musume
bryan
37
4.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
31
20k
Designing Experiences People Love
moore
130
22k
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 今度こそ おしまい