rabbit-slide-myokoym-mojicode 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ mojicode.rab
data/README.rd ADDED
@@ -0,0 +1,26 @@
1
+ = 文字コード略歴
2
+
3
+ 日本の文字コードの歴史を簡単にまとめました。
4
+
5
+ いろいろな艱難辛苦があったようです。そして、これからも続く物語。
6
+
7
+ == 作者向け
8
+
9
+ === 表示
10
+
11
+ rake
12
+
13
+ === 公開
14
+
15
+ rake publish
16
+
17
+ == 閲覧者向け
18
+
19
+ === インストール
20
+
21
+ gem install rabbit-slide-myokoym-mojicode
22
+
23
+ === 表示
24
+
25
+ rabbit rabbit-slide-myokoym-mojicode.gem
26
+
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ Rabbit::Task::Slide.new do |task|
6
+ # task.spec.licenses = ["CC BY-SA 3.0"]
7
+ # task.spec.files += Dir.glob("doc/**/*.*")
8
+ # task.spec.files -= Dir.glob("private/**/*.*")
9
+ # task.spec.add_runtime_dependency("YOUR THEME")
10
+ end
data/config.yaml ADDED
@@ -0,0 +1,19 @@
1
+ ---
2
+ id: mojicode
3
+ base_name: mojicode
4
+ tags:
5
+ - rabbit
6
+ - character code
7
+ presentation_date:
8
+ version: 2.0.0
9
+ licenses:
10
+ - CC BY-SA 3.0
11
+ slideshare_id: 14295586
12
+ speaker_deck_id:
13
+ author:
14
+ markup_language: :rd
15
+ name: myokoym
16
+ email: myokoym@gmail.com
17
+ rubygems_user: myokoym
18
+ slideshare_user: myokoym
19
+ speaker_deck_user: myokoym
data/lavie.png ADDED
Binary file
data/mojicode.rab ADDED
@@ -0,0 +1,303 @@
1
+ = 文字コード略歴
2
+
3
+ : author
4
+ よこやままさふみ
5
+ : content-source
6
+ 社内勉強会
7
+ : date
8
+ 2012/05/18
9
+ : theme
10
+ lightning-clear-blue
11
+ : allotted-time
12
+ 30m
13
+
14
+ = 自己紹介
15
+
16
+ * 横山昌史
17
+ * 入社4年目
18
+ * プログラマ etc...
19
+ * 所属プロジェクト
20
+ * Java、UNIX、雑用 etc...
21
+ * 文字コードの "るつぼ"
22
+
23
+ = Rabbitについて
24
+
25
+ * プレゼンテーションツール
26
+ * 実装: Ruby/GTK
27
+ * 動作: UNIX/Win/Mac
28
+ * 文章とデザインの分離
29
+ * バージョン管理しやすい
30
+
31
+ == プロパティ
32
+
33
+ : background-image
34
+ lavie.png
35
+
36
+ : background-image-relative-width
37
+ 50
38
+
39
+ = 文字コードとは
40
+
41
+ * 文字をコンピュータで扱うための符号化方式
42
+ * エンコード、キャラクターセットとも呼ばれる
43
+
44
+ = 符号化
45
+
46
+ * 文字や音声などを0と1のデジタルデータに変換すること
47
+ * 16進数で記述されることが多い
48
+ * Javaなどでは、頭に"0x"を付けると16進数として扱われる
49
+
50
+ = よく使われる文字コード
51
+
52
+ * ASCII
53
+ * Shift_JIS
54
+ * UTF-8(Unicode)
55
+ * EBCDIC
56
+
57
+ = ASCII
58
+
59
+ = ASCII
60
+
61
+ * 英語を表現するための文字コード
62
+ * 英字アルファベット、記号
63
+ * いわゆる半角文字
64
+
65
+ = ASCII
66
+
67
+ * 1文字につき7ビットの1バイトコード
68
+ * 7ビット = 2(('sup:7')) = 128
69
+ * 16進数で言うと0x00〜0x7Fまで
70
+ * 1バイト = 8ビットのため、1ビット余り
71
+
72
+ = ASCIIの例
73
+
74
+ * Heisei 24
75
+ * 48 65 69 73 65 69 20 32 34
76
+ * 16進数(0xは省略)
77
+
78
+ = JIS X 0201
79
+
80
+ * 日本工業規格
81
+ * 一部の符号位置がASCIIと違う
82
+ * 半角カナが使える
83
+ * 8ビット目を拡張
84
+
85
+ = ASCIIと異なる文字
86
+
87
+ * 符号位置0x5C
88
+ * ASCII:半角バックスラッシュ
89
+ * JISX0201:半角円記号
90
+
91
+ = ASCIIと異なる文字
92
+
93
+ * 符号位置0x7E
94
+ * ASCII:半角チルダ
95
+ * JISX0201:半角オーバーライン
96
+
97
+ = ASCIIと異なる文字
98
+
99
+ * ASCIIかJISX0201かは曖昧
100
+ * 環境によって表示が変わる
101
+ * 日本のフォントは円記号
102
+ * 外国のフォントはバックスラッシュ
103
+ * 7Eは日本でも大抵チルダ
104
+
105
+ = Shift_JIS
106
+
107
+ = ASCIIの欠点
108
+
109
+ * 日本語(ひらがな、カタカナ、漢字)が扱えない
110
+
111
+ = 漢字の文字数
112
+
113
+ * 常用漢字 2,136文字(2010年改定)
114
+ * 1バイト = 8ビット = 2(('sup:8')) = 256
115
+ * 1バイトでは表現できない
116
+
117
+ = 2バイトコード
118
+
119
+ * 1文字を2バイトで符号化
120
+ * 2バイト = 16ビット = 2(('sup:16')) = 65,536
121
+
122
+ = JIS X 0208
123
+
124
+ * 日本工業規格
125
+ * JIS第1・第2水準漢字を定義
126
+ * 最新版では6,879文字を収録
127
+ * 1983年に大幅な変更
128
+ * 異字体の符号位置入れ替え
129
+ * 字形の変更
130
+
131
+ = JIS X 0213
132
+
133
+ * 日本工業規格
134
+ * JIS X 0208の拡張(後方互換)
135
+ * JIS第3・第4水準漢字を定義
136
+ * 環境によってはJISX0213に対応していない(JIS第3・第4水準漢字が使えない)
137
+
138
+ = Shift_JISの成り立ち
139
+
140
+ (('tag:center'))
141
+ JIS X 0201\n
142
+ +\n
143
+ JIS X 0208(JIS X 0213)\n
144
+
145
+ = Shift_JISの特徴
146
+
147
+ * 日本語が表現できる
148
+ * 半角カナが使える
149
+ * JISX0201との互換性
150
+
151
+ = Shift_JISの例
152
+
153
+ * 平成 24
154
+ * 95 BD 90 AC 20 32 34
155
+
156
+ = Shift_JISの欠点
157
+
158
+ * 全角半角問題
159
+ * 「A」と「A」、「ア」と「ア」など
160
+ * 全角文字を扱える文字コード共通の問題
161
+ * JISX0201の副作用
162
+ * だめ文字
163
+
164
+ = Shift_JISの派生
165
+
166
+ * WindowsではShift_JISを拡張した文字コードが使われている
167
+ * Windows31-JやMS932やCP932などと呼ばれる
168
+ * 重複符号化(㈱問題)
169
+ * 同じ文字に複数の符号位置
170
+
171
+ = UTF-8
172
+
173
+ = Shift_JISの欠点
174
+
175
+ * 日本語しか扱えない
176
+
177
+ = Unicode
178
+
179
+ * 世界中の言語を表現できる文字コードの仕様がUnicode
180
+ * 110,181文字(2012年1月)
181
+
182
+ = Unicode
183
+
184
+ * Unicodeの実装の一つがUTF-8
185
+ * 他にもUTF-16など
186
+
187
+ = UTF-8の特徴
188
+
189
+ * ASCIIを拡張
190
+ * Shift_JISとは違い、JISX0201の拡張ではない
191
+ * 半角カナなどの符号位置がShift_JISと違う
192
+ * だめ文字がない
193
+
194
+ = 1文字のバイト数
195
+
196
+ * ASCII
197
+ * 全て半角文字 = 全て1バイト
198
+ * Shift_JIS
199
+ * 半角 = 1バイト
200
+ * 全角 = 2バイト
201
+
202
+ = 1文字のバイト数
203
+
204
+ * UTF-8
205
+ * 半角 = 主に1バイト
206
+ * 全角 = 日本語は3バイト
207
+ * 記号は3バイトか2バイト
208
+
209
+ = UTF-8の例
210
+
211
+ * 平成 24
212
+ * E5 89 B3 E6 88 90 20 32 34
213
+
214
+ = 1バイトでない半角文字
215
+
216
+ * \(半角)が2種類
217
+ * 5C (ASCII): 規格上はバックスラッシュ
218
+ * C2 A5 (UTF-8): 規格上は円記号
219
+ * 2バイトの半角文字
220
+
221
+ = 1バイトでない半角文字
222
+
223
+ * ~(半角)も2種類
224
+ * 7E (ASCII): 規格上はチルダ
225
+ * E2 80 BE (UTF-8): 規格上はオーバーライン
226
+ * 3バイトの半角文字
227
+
228
+ = 半角カナ
229
+
230
+ * ア (半角)
231
+ * B1 (Shift_JIS)
232
+ * EF BD B1 (UTF-8)
233
+ * UTF-8の半角カナは全て3バイト
234
+ * 単純なバイト数チェックでは、半角か全角か判別できない
235
+
236
+ = IBM版とMS版
237
+
238
+ * IBM-Unicode(一般的なUnicode)とMS-Unicode(マイクロソフト版Unicode)で符号位置が異なる文字がある
239
+ * いわゆる波ダッシュ問題の要因
240
+
241
+ = 波ダッシュ問題
242
+
243
+ * Windowsとそれ以外のOS間での通信時などに文字化け
244
+ * 対象文字は10文字程度(環境による)
245
+ * ~ ― - ‖ ∥ ¦ ¬ ¢ £
246
+
247
+ = EBCDIC
248
+
249
+ = EBCDIC
250
+
251
+ * IBMによって定義された文字コード
252
+ * IBM製のメインフレーム(汎用機)などで現在も使用されている
253
+
254
+ = EBCDIC
255
+
256
+ * 半角文字の符号位置がASCIIと異なる
257
+ * 全角文字の表現方法がShift_JISやUTF-8と異なる
258
+ * 基本的にJIS第3・第4水準は含まれない
259
+
260
+ = 半角文字
261
+
262
+ * すべて1バイト
263
+ * 8ビット目まで使用
264
+ * 制御文字エリアが大きい
265
+ * 0x00~0x3Fと0xFF
266
+ * 汎用機で使用される特殊な制御文字が含まれている
267
+
268
+ = 全角文字
269
+
270
+ * 半角文字との区別は制御文字で行う
271
+ * 全角の開始位置がシフトアウト(0x0E)
272
+ * 全角の終了位置がシフトイン(0x0F)
273
+ * 略してSO/SIなどと呼ばれる
274
+
275
+ = SO/SI
276
+
277
+ * 平成 24
278
+ * ((*0E*)) 45 8D 45 BA ((*0F*)) 40 F2 F4
279
+
280
+ = うわっ…
281
+
282
+ * SIの欠如
283
+ * ((*0E*)) 45 8D 45 BA
284
+ * SO/SIのネスト
285
+ * ((*0E*)) 45 8D ((*0E*)) 45 BA ((*0F*)) ((*0F*))
286
+ * SO/SIを対として扱うのではなく、モード切替文字として扱うことで対応
287
+
288
+ = まとめ
289
+
290
+ # image
291
+ # src = summary.jpg
292
+ # width = 640
293
+ # height = 420
294
+
295
+ = 参考
296
+
297
+ * プログラマのための文字コード技術入門
298
+ * 正規表現クックブック(66ページ)
299
+ * AIX 5L 日本語コード一覧表
300
+ * jp_codebookで検索
301
+
302
+ ご静聴ありがとうございました。
303
+
Binary file
data/summary.jpg ADDED
Binary file
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-myokoym-mojicode
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - myokoym
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-15 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rabbit
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.2
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 2.0.2
30
+ description: 日本の文字コードの歴史を簡単にまとめました。
31
+ email:
32
+ - myokoym@gmail.com
33
+ executables: []
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - .rabbit
38
+ - config.yaml
39
+ - Rakefile
40
+ - README.rd
41
+ - lavie.png
42
+ - summary.jpg
43
+ - mojicode.rab
44
+ - pdf/mojicode-mojicode.pdf
45
+ homepage: http://slide.rabbit-shocker.org/authors/myokoym/mojicode/
46
+ licenses:
47
+ - CC BY-SA 3.0
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ required_rubygems_version: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ requirements: []
65
+ rubyforge_project:
66
+ rubygems_version: 1.8.23
67
+ signing_key:
68
+ specification_version: 3
69
+ summary: 文字コード略歴
70
+ test_files: []