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
320
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
97
PIXIV TECH FES. short session / What kind of contribution to OSS is really pleased?
unak
0
1.9k
Internal of the image processing required on the developing of web applications
unak
5
4.8k
Schrödinger's branch, or Ruby is dead every year
unak
0
660
talk about IO
unak
4
1.7k
Other Decks in Technology
See All in Technology
Analytics-Backed App Widget Development - Served with Jetpack Glance
miyabigouji
0
610
開発者の定量・定性データを組み合わせて開発者体験を把握するための取り組み
ham0215
1
130
2024年のナビゲーション・フォーカス対応:Composeでキーボード・ナビゲーションをサポートしよう
tahia910
0
110
OCI で始める!! Red Hat OpenShift / Get Started OpenShift on OCI
oracle4engineer
PRO
1
180
再考 アクターモデル/ reconsider actor model
ytake
0
360
サーバー管理しないサーバーサービスManaged DevOps Pool
kkamegawa
0
130
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
250
React Aria で実現する次世代のアクセシビリティ
ryo_manba
4
1.2k
リアルお遍路+SORACOM IoT
ozk009
1
140
Fediverse Discovery Providers overview
andypiper
0
170
Mocking in Rust Applications
taiki45
2
410
DevRelの始め方
moongift
PRO
1
390
Featured
See All Featured
The Mythical Team-Month
searls
218
43k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
36
1.7k
Why Our Code Smells
bkeepers
PRO
334
56k
Building an army of robots
kneath
302
42k
Ruby is Unlike a Banana
tanoku
96
11k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
Done Done
chrislema
180
16k
What the flash - Photography Introduction
edds
67
11k
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 今度こそ おしまい