teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2016/03/17 05:56

投稿

miyabi-sun
miyabi-sun

スコア21454

answer CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  流石にそれは不便だという事でShift-JIS, EUC-JP, UFT-8等の文字コードが次々と登場しましたが、
8
8
  これらはASCII文字をベースに拡張されています。
9
+ (ASCII文字をベースとしなかった文字コードも多数存在します。)
9
10
 
10
11
  以下は例としてのShift-JISの実装の一例です。
11
12
  ASCII文字は7bitで成り立っているので、先頭に0の1ビットを足して8ビットとして管理、
@@ -14,5 +15,5 @@
14
15
  (ただし、1bit目が1であっても特定の値は半角カナとして取り扱う)
15
16
 
16
17
  「Shift-JIS, EUC-JP, UFT-8」というASCII文字をベースとして拡張された文字コードに関しては、
17
- 文字化けせずに保たれることが確認出来ます。
18
+ 相互に変換をかけても、ASCII文字に関しては文字化けせずに保たれることが確認出来ます。
18
19
  その辺の事情で、ASCIIという文字コードを普段意識することは無いかと思います。

1

例外等補足

2016/03/17 05:56

投稿

miyabi-sun
miyabi-sun

スコア21454

answer CHANGED
@@ -5,14 +5,14 @@
5
5
  お前らも英語でやれよと突っぱねる形式となっていました。
6
6
 
7
7
  流石にそれは不便だという事でShift-JIS, EUC-JP, UFT-8等の文字コードが次々と登場しましたが、
8
- 全てASCII文字をベースに拡張されています。
8
+ これらはASCII文字をベースに拡張されています。
9
9
 
10
- 詳しい事控えますが、(知らないは内緒)
10
+ 以下例としてShift-JISの実装の一例です。
11
11
  ASCII文字は7bitで成り立っているので、先頭に0の1ビットを足して8ビットとして管理、
12
12
  そして先頭の1ビット目が1で固定させた8ビットの塊を先頭に付ける事で約3万文字の拡張…というやり方で実装されています。
13
13
  文字の先頭1ビット目を確認すれば、これはASCII文字か、次の1バイトを更に読み込んで2バイト文字として読み込むかを分岐させて判別しています。
14
- UTF-8はユニコードの実装の一つで3〜4Byteに跨る大量の文字が定義されいます。)
14
+ ただし1bit目1であっても特の値は半角カナとし取り扱う)
15
15
 
16
- このような実装なので、「Shift-JIS, EUC-JP, UFT-8文字コードを相互変換して
16
+ 「Shift-JIS, EUC-JP, UFT-8」というASCII文字をベースとして拡張された文字コードにして
17
- ASCII文字の部分は文字化けせずに保たれてい事が分かるか思います。
17
+ 文字化けせずに保たれるが確認出来ます。
18
- その辺の事情で、ASCIIという文字コードを意識することは無いかと思います。
18
+ その辺の事情で、ASCIIという文字コードを普段意識することは無いかと思います。