Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
文字コード略歴
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Masafumi Yokoyama
May 18, 2012
Technology
420
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
文字コード略歴
日本の文字コードの歴史を簡単にまとめました。
Masafumi Yokoyama
May 18, 2012
More Decks by Masafumi Yokoyama
See All by Masafumi Yokoyama
5分で学ぶGTK+
myokoym
4
73
Rabbit on Sinatra
myokoym
1
160
Other Decks in Technology
See All in Technology
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
370
「エーアイ」をバズワードにしないために RPA 導入経験と Kiro 上での Claude モデル利用経験から
kazzpapa3
0
110
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
310
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
150
Turning Repos into the Product Second Brain with an LLM Wiki
linedevth
0
120
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
420
その Valkey 使いこなしていますか?
onk
PRO
5
1.7k
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
180
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
200
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
140
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
290
【データ横丁主催】AI エージェント時代のTranslytical Data Platform
shisyu_gaku
0
130
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
Designing for Timeless Needs
cassininazir
1
530
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
Faster Mobile Websites
deanohume
310
32k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing Powerful Visuals for Engaging Learning
tmiket
1
610
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
610
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
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で検索 ✓ ✓ ご静聴ありがとうございました。