回答編集履歴

2

補足追加

2016/12/20 10:19

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -7,3 +7,17 @@
7
7
 
8
8
 
9
9
  つまりバイナリーデータを文字として扱ったとたんに情報は失われてしまうのでそれを何も編集せずにファイルへ書き戻したとしても元のバイナリーデータには戻りません。
10
+
11
+
12
+
13
+ ---
14
+
15
+
16
+
17
+ 補足:本質問には直接関係ないですが、上の回答に書いたMS932という用語は不適切でした。
18
+
19
+ MS932はMicrosfot社独自ShiftJISのことを表すJava言語での文字セット名称です。単にMicrosoftのShiftJISとでもいった方がよかったです。Windowsプログラミングの世界ではShift_JISあるいはコードページ932と呼ばれています。
20
+
21
+
22
+
23
+ 文字セットは今の世の中でも充分には統一されていないようでOSや文脈ごとに呼び名が微妙に違います。自分は知っている範囲で厳密に言おうとしてついMS932というような言い方をしてしまいました。すみません。

1

厳密さに欠ける部分を訂正

2016/12/20 10:19

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- テキストファイルを扱うエディターが扱うのはバイナリーデータそのものではなく文字です。ファイルの中のバイト列は特定の文字セット(MS932, UTF-8, UTF-16といったもの)でエンコードされたもの仮定して扱われます。文字コードというのはあらゆるバイトパターンに対して何からの文字が必ず対応するわけではありません。例えばエディターがASCIIコードしか扱えないものであれば0x0A,0x0D,0x20~0x7E以外の範囲は文字とは認識されず単に捨てられたり不当な文字として何らかの特別な文字に置き換えられたりします。これはASCII文字セットに限らずどのような文字セットにおいても範囲の広い・狭いの違いがあるだけで同様です。
5
+ テキストファイルを扱うエディターが扱うのはバイナリーデータそのものではなく文字です。ファイルの中のバイト列は特定の文字セット(MS932, UTF-8, UTF-16といったもの)でエンコードされたもの仮定して扱われます。文字コードというのはあらゆるバイトパターンに対して何からの文字が必ず対応するわけではありません。例えばエディターがASCIIコードしか扱えないものであれば(例えば)0x0A,0x0D,0x20~0x7E以外の範囲は文字とは認識されず単に捨てられたり不当な文字として何らかの特別な文字に置き換えられたりします。これはASCII文字セットに限らずどのような文字セットにおいても範囲の広い・狭いの違いがあるだけで同様です。
6
6
 
7
7
 
8
8