<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn>8ビットクリーン</dfn> (<dfn>8ビット安全</dfn>) は、 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8ビット</anchor>のデータを安全に送受信、処理できることです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 
古い時代に開発された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラム</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ形式</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">7ビット符号</anchor>の利用を前提とし、
<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <n>0x80</n>, <n>0xFF</n> </n>
が出現したときこれをエラーとしたり、
正しく動作しなかったり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位ビット</anchor>を落として 
[ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x00</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x7F</n> ]
に変換したりしました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 
こうした<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8ビット符号</anchor>を安全に取り扱えない処理を行わ<em>ない</em>ものは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8ビットクリーン</anchor>です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 
なお、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8ビット安全</anchor>であるかどうかと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイナリーデータ</anchor>を安全に扱えるかどうかは必ずしも同一ではないことに注意が必要です。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CTE</anchor> は <code>8bit</code> と <code>binary</code> を区別しています。
<code>8bit</code> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8ビット</anchor>のデータが扱えることを要求していますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>の処理も行われます。任意の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイナリーデータ</anchor>を破壊しないためには
<code>binary</code> である必要があります。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 現在の多くの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラム</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>データを <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で扱っています。
つまり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8ビット安全</anchor>ではあるわけですが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> 
ではない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイナリーデータ</anchor>を処理させることができるとは限りません。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 関連:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">7ビットクリーン</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MSB</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mohta bit</anchor></p></body></html>