rabbit-slide-myokoym-mojicode 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []