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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
usa
April 17, 2020
Technology
460
0
Share
WindowsにおけるRubyのエンコーディングの話 Ruby3版/Ruby's encoding on Windows at Ruby3
Ruby3サミット(2020-04-17)
usa
April 17, 2020
More Decks by usa
See All by usa
Rubyの安定版を保守する意義 / Why we maintain stable versions of Ruby?
unak
0
170
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.3k
Schrödinger's branch, or Ruby is dead every year
unak
0
770
talk about IO
unak
5
2k
Other Decks in Technology
See All in Technology
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
440
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
760
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
190
AgentCore Managed Harness を使ってみよう
yakumo
2
300
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
3
3k
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
8
1.4k
AI活用時代の事業判断高度化を導くエンジニアリング基盤 / 20260424 Atsushi Funahashi
shift_evolve
PRO
2
120
変化の激しい時代をゴキゲンに生き抜くために 〜ストレスマネジメントのススメ〜
kakehashi
PRO
4
700
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
370
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
1
180
AI バイブコーティングでキーボード不要?!
samakada
0
680
AI駆動開発で生産性を追いかけたら、行き着いたのは品質とシフトレフトだった
littlehands
0
260
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
160
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Done Done
chrislema
186
16k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
280
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Leo the Paperboy
mayatellez
7
1.7k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
290
What's in a price? How to price your products and services
michaelherold
247
13k
Ethics towards AI in product and experience design
skipperchong
2
260
Agile that works and the tools we love
rasmusluckow
331
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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 今度こそ おしまい