Re: [問題] Unicode, 控制字元

看板Programming作者 (ggg)時間15年前 (2010/06/02 10:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《etwas (i'm only dust)》之銘言: : 標題: [問題] Unicode, 控制字元 : hi : 小弟讀了一些unicode的資料 : 有些疑問 : 希望大大解答 : 網路上有一篇Unicode與ISO10646(作者:曾士熊先生) : 裡面有講到網路設備在收octet時會視是控制字元與否 : 做出直接對應動作或是傳送給後續設備(這裡我想是protocol stacks) : : 可是目前通用的UTF(ex. UTF-8, UTF-16,...) : 編碼過後的結果每一個octet並沒有跳過這些控制碼吧? : 那是如何防止被設備誤判的呀? : ◆ From: 114.136.113.139 : 推 buganini:UTF-8是ASCII-compatible的 220.135.231.23 06/01 20:24 ================================================================== 網路的收送兩端模組假如是能分辨 ASCII 的控制碼(ASCII-aware), 對於 binary data 就會做區分的處理(譬如 ESCAPE indication), 若 binary data 是 UTF-8 就會在傳輸前後, 被做預處理與後處理復原, 因此不會被 誤判, 也就不會對 UTF-8 字串的控制碼起不當反應. 假如送端是能分辨 UTF-8 , 因之對 UTF-8 裡的 控制碼(octet) 不做預處 理, 但收端卻不能分辨 UTF-8 只能分辨 ASCII , 此時欠缺預處理的 binary data 就會被收端誤判. 程式模組間的呼叫, 傳遞參數與資料 就相當於收送兩端進行送收資料, 兩模 組對資料形式與表達的認知應該一致, 才不至於對 binary data 產生誤動作. 常用UTF-8是 3 bytes 一組, ASCII 則是7個bit(當一個byte)一組, 跟 2 bytes 的中文碼(如 BIG5) 會遇到的問題是一樣的. 由於歷史發展次序與前後相容的需要, 傳送端不能假設接收端已都被更新到能 認知新的分辨規則. 即使把 multi-bytes 的多國語言碼轉換成 ASCII compatible 的表示法, 新 的這串 ASCII 仍然需要有一個預處理過的標幟做為區分, 才能分辨出開始與 結束的 "multi-bytes multi-lingual character string". 處理這些不同資料段的方法就如同網路的 上下多層協定 及 封裝分區塊的表 示法. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.4.12
文章代碼(AID): #1C1RzlMr (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1C1RzlMr (Programming)