好的!那又怎麼樣呢?問題就在這!許多程式由於各式各樣的原因, 並未考慮到輸入的資料可能是 non-ASCII 碼的問題。 它往往假設了它所要處理的資料都是 ASCII 碼,更糟糕的是,當它遇到 non-ASCII 碼時,常常假設它不存在,而將它的第八個位元截去! 這是所謂的 8-bit clean 問題。
例如,您的 telnet 程式 總是認為您輸入的都是七位元的 ASCII 碼。當您輸入中文時, 每每將第八位元砍掉,所以都變成亂碼。
網路上的通訊程式也常常只能傳輸七位元的資料。較早期的 sendmail 程式就是惡名昭彰的例子。 sendmail 只能接送含七位元的信件, 導致我們在傳送中文信件時,必須採用各式各樣奇怪的 編碼格式 (如 uuencode,base64,QP 等),這往往又為收信者帶來很大的困擾! (我常在想如果當初電子郵件的創造者能多一點點的遠見, 我們今天就會少許多的問題!)
在網路上這個問題顯得更為複雜。 即使您和您的收信人的機器都已經安裝了可以處理中文信件的 sendmail 程式 ,對方仍有可能收到亂碼信件。 因為這封信在到達對方手中前可能經過好多部主機, 如果其中一部機器的 sendmail 將第八位元截去,事情就完了! 對於 client/server 架構的程式,問題可能出在 client 端, 也可能是在 server 端,或是雙方都有。