Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
文字コード略歴
Search
Masafumi Yokoyama
May 18, 2012
Technology
1
370
文字コード略歴
日本の文字コードの歴史を簡単にまとめました。
Masafumi Yokoyama
May 18, 2012
Tweet
Share
More Decks by Masafumi Yokoyama
See All by Masafumi Yokoyama
5分で学ぶGTK+
myokoym
4
53
Rabbit on Sinatra
myokoym
1
120
Other Decks in Technology
See All in Technology
Kiro を用いたペアプロのススメ
taikis
4
1.6k
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
230
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
130
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
150
オープンソースKeycloakのMCP認可サーバの仕様の対応状況 / 20251219 OpenID BizDay #18 LT Keycloak
oidfj
0
160
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
320
20251203_AIxIoTビジネス共創ラボ_第4回勉強会_BP山崎.pdf
iotcomjpadmin
0
130
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
3
2.2k
202512_AIoT.pdf
iotcomjpadmin
0
140
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
190
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
110
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
270
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
69
Statistics for Hackers
jakevdp
799
230k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.4k
A designer walks into a library…
pauljervisheath
210
24k
Code Reviewing Like a Champion
maltzj
527
40k
Between Models and Reality
mayunak
0
150
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Color Theory Basics | Prateek | Gurzu
gurzu
0
150
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.3k
Transcript
文字コード略歴 Powered by Rabbit 2.0.6 文字コード略歴 よこやままさふみ 社内勉強会 2012/05/18
文字コード略歴 Powered by Rabbit 2.0.6 自己紹介 横山昌史 ✓ 入社4年目 ✓
プログラマ etc... ✓ 所属プロジェクト Java、UNIX、雑用 etc... ✓ 文字コードの "るつぼ" ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 Rabbitについて プレゼンテーションツール ✓ 実装: Ruby/GTK
✓ 動作: UNIX/Win/Mac ✓ 文章とデザインの分離 バージョン管理しやすい ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 文字コードとは 文字をコンピュータで扱うための 符号化方式 ✓ エンコード、キャラクターセットとも
呼ばれる ✓
文字コード略歴 Powered by Rabbit 2.0.6 符号化 文字や音声などを0と1のデジタ ルデータに変換すること ✓ 16進数で記述されることが多い
Javaなどでは、頭に"0x"を付けると16 進数として扱われる ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 よく使われる文字コード ASCII ✓ Shift_JIS ✓
UTF-8(Unicode) ✓ EBCDIC ✓
文字コード略歴 Powered by Rabbit 2.0.6 ASCII
文字コード略歴 Powered by Rabbit 2.0.6 ASCII American Standard Code for
Information Interchange
文字コード略歴 Powered by Rabbit 2.0.6 ASCII 英語を表現するための文字コード 英字アルファベット、記号 ✓ いわゆる半角文字
✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 ASCII 1文字につき7ビットの1バイトコ ード 7ビット =
2 7 = 128 ✓ 16進数で言うと0x00〜0x7Fまで ✓ 1バイト = 8ビットのため、1ビット余り ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 ASCIIの例 Heisei 24 48 65
69 73 65 69 20 32 34 16進数(0xは省略) ✓ ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 JIS X 0201 日本工業規格 ✓
一部の符号位置がASCIIと違う ✓ 半角カナが使える 8ビット目を拡張 ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 ASCIIと異なる文字 符号位置0x5C ASCII:半角バックスラッシュ ✓ JISX0201:半角円記号
✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 ASCIIと異なる文字 符号位置0x7E ASCII:半角チルダ ✓ JISX0201:半角オーバーライン
✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 ASCIIと異なる文字 ASCIIかJISX0201かは曖昧 環境によって表示が変わる ✓ ✓
日本のフォントは円記号 ✓ 外国のフォントはバックスラッシュ ✓ 7Eは日本でも大抵チルダ ✓
文字コード略歴 Powered by Rabbit 2.0.6 Shift_JIS
文字コード略歴 Powered by Rabbit 2.0.6 Q & A Q.あなたの母語は何語ですか? A.日本語
✓ ✓ Q.日本語は英字アルファベットだ けで表現できますか? A.いいえ ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 ひらがなや漢字が必要 常用漢字 2,136文字(2010年 改定) ✓
1バイト = 8ビット = 28 = 256 ✓ 1バイトでは表現できない ✓
文字コード略歴 Powered by Rabbit 2.0.6 2バイトコード 1文字を2バイトで符号化 ✓ 2バイト =
16ビット = 216 = 65,536 ✓
文字コード略歴 Powered by Rabbit 2.0.6 JIS X 0208 日本工業規格 ✓
JIS第1・第2水準漢字を定義 ✓ 最新版では6,879文字を収録 ✓ 1983年に大幅な変更 異字体の符号位置入れ替え ✓ 字形の変更 ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 JIS X 0213 日本工業規格 ✓
JIS X 0208の拡張(後方互換) ✓ JIS第3・第4水準漢字を定義 ✓ 環境によってはJISX0213に対応 していない(JIS第3・第4水準漢字 が使えない) ✓
文字コード略歴 Powered by Rabbit 2.0.6 Shift_JISの成り立ち JIS X 0201 +
JIS X 0208(JIS X 0213)
文字コード略歴 Powered by Rabbit 2.0.6 Shift_JISの特徴 日本語が表現できる ✓ 半角カナが使える JISX0201との互換性
✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 Shift_JISの例 平成 24 95 BD
90 AC 20 32 34 ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 Shift_JISの欠点 全角半角問題 「A」と「A」、「ア」と「ア」など ✓ 全角文字を扱える文字コード共通の問
題 ✓ ✓ JISX0201の副作用 だめ文字 ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 Shift_JISの派生 WindowsではShift_JISを拡張し た文字コードが使われている Windows31-JやMS932やCP932な どと呼ばれる
✓ 重複符号化(㈱問題) 同じ文字に複数の符号位置 ✓ ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 UTF-8
文字コード略歴 Powered by Rabbit 2.0.6 Q & A Q.今はどんな時代ですか? A.国際化時代
✓ ✓ Q.Shift_JISの欠点はどこですか? A.日本語しか扱えない ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 Unicode 世界中の言語を表現できる文字 コードの仕様がUnicode ✓ 110,181文字(2012年1月)
✓
文字コード略歴 Powered by Rabbit 2.0.6 Unicode Unicodeの実装の一つがUTF-8 他にもUTF-16など ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 UTF-8の特徴 ASCIIを拡張 Shift_JISとは違い、JISX0201の拡張 ではない ✓
半角カナなどの符号位置がShift_JISと 違う ✓ だめ文字がない ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 1文字のバイト数 ASCII 全て半角文字 = 全て1バイト
✓ ✓ Shift_JIS 半角 = 1バイト ✓ 全角 = 2バイト ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 1文字のバイト数 UTF-8 半角 = 主に1バイト
✓ 全角 = 日本語は3バイト 記号は3バイトか2バイト ✓ ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 UTF-8の例 平成 24 E5 89
B3 E6 88 90 20 32 34 ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 1バイトでない半角文字 \(半角)が2種類 5C (ASCII): 規格上はバックスラッシュ
✓ C2 A5 (UTF-8): 規格上は円記号 2バイトの半角文字 ✓ ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 1バイトでない半角文字 ~(半角)も2種類 7E (ASCII): 規格上はチルダ
✓ E2 80 BE (UTF-8): 規格上はオーバ ーライン 3バイトの半角文字 ✓ ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 半角カナ ア (半角) B1 (Shift_JIS)
✓ EF BD B1 (UTF-8) UTF-8の半角カナは全て3バイト ✓ ✓ ✓ 単純なバイト数チェックでは、半角 か全角か判別できない ✓
文字コード略歴 Powered by Rabbit 2.0.6 IBM版とMS版 IBM-Unicode(一般的な Unicode)とMS-Unicode(マイ クロソフト版Unicode)で符号位 置が異なる文字がある
いわゆる波ダッシュ問題の要因 ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 波ダッシュ問題 Windowsとそれ以外のOS間で の通信時などに文字化け ✓ 対象文字は10文字程度(環境に
よる) 〜 — - ‖ ∥ ¦ ¬ ¢ £ ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 EBCDIC
文字コード略歴 Powered by Rabbit 2.0.6 EBCDIC IBMによって定義された文字コー ド IBM製のメインフレーム(汎用機)など で現在も使用されている
✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 EBCDIC 半角文字の符号位置がASCIIと 異なる ✓ 全角文字の表現方法がShift_JIS
やUTF-8と異なる ✓ 基本的にJIS第3・第4水準は含ま れない ✓
文字コード略歴 Powered by Rabbit 2.0.6 半角文字 すべて1バイト 8ビット目まで使用 ✓ ✓
制御文字エリアが大きい 0x00〜0x3Fと0xFF ✓ 汎用機で使用される特殊な制御文字 が含まれている ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 全角文字 半角文字との区別は制御文字で 行う 全角の開始位置がシフトアウト(0x0E) ✓
全角の終了位置がシフトイン(0x0F) ✓ ✓ 略してSO/SIなどと呼ばれる ✓
文字コード略歴 Powered by Rabbit 2.0.6 SO/SI 平成 24 0E 45
8D 45 BA 0F 40 F2 F4 ✓ ✓
文字コード略歴 Powered by Rabbit 2.0.6 うわっ… SIの欠如 0E 45 8D
45 BA ✓ ✓ SO/SIのネスト 0E 45 8D 0E 45 BA 0F 0F ✓ ✓ SO/SIを対として扱うのではなく、 モード切替文字として扱うことで 対応 ✓
文字コード略歴 Powered by Rabbit 2.0.6 まとめ
文字コード略歴 Powered by Rabbit 2.0.6 参考 プログラマのための文字コード技 術入門 ✓ 正規表現クックブック(66ページ)
✓ AIX 5L 日本語コード一覧表 jp_codebookで検索 ✓ ✓ ご静聴ありがとうございました。