한국   대만   중국   일본 
Ascii85 - 위키百科, 우리 모두의 百科事典 本文으로 移動

Ascii85

위키百科, 우리 모두의 百科事典.
( 아스키85 에서 넘어옴)

Ascii85 또는 Base85 불리는 이것은 Paul E. Rutter가 유틸리티 en:btoa 를 위해 만든 en:binary-to-text encoding 方法으로 5個의 ASCII 文字로 4 바이트의 李瑱 데이터 를 表現한다. ASCII 한 文字가 8비트라면 이 方法으로 하면 原本이 ¹?₄만큼 더 커진다. 이것은 4個의 文字로 3 바이트를 表現해서 ¹?₃만큼 더 커지는 en:uuencode 베이스64 보다 效率的이다.

이것은 Adobe 포스트스크립트 PDF 파일 形式에 使用된다.

基本 構想 [ 編輯 ]

binary-to-text encoding은 사람이 읽을 수 있는( en:human-readable ) 文字만을 電送할 수 있는 旣存 通信 프로토콜 위에서 李瑱 데이터 를 다루기 위해서 必要했다. 이런 環境에서 文字는 7 비트만을 使用하고 그 마저도 一部 制御 文字를 빼야하므로 데이터의 電送에 使用할 수 있는 文字는 95個 뿐이다.

4 바이트는 2 32  = 4,294,967,296 가지의 값을 가지고, 5자리 85 진수( en:radix )는 85 5  = 4,437,053,125 가지의 값이 可能하므로 이걸로 32비트 값을 充分히 表現할 수 있다. 5자리의 84 진수는 84 5  = 4,182,119,424 가지 값만을 가지기 때문에 85街 5자리로 4바이트를 表現해 낼 수 있는 最小값이라 이것이 選擇되었다.

인코딩은 4바이트를 big-endian 으로 묶어 32비트 數를 얻는 것에서 始作한다. 이것을 85進數로 바꾼다. 85를 連續해서 나누면서 나머지들을 얻는 過程이다. 그렇게 5자리의 85진수가 얻어지면, 各 자리에 33를 더해서 33 ("!")에서 117 ("u")까지의 ASCII 文字로 바꾸는 것이다.

데이터가 모두 0인 境遇는 相當히 흔하기 때문에 例外的으로 데이터 壓縮을 爲해서 " z " 한 文字로 인코딩한다. " !!!!! "가 아니다.

디코딩했을 때 2 32 ? 1 (인코딩 했을 때 " s8W-! ")보다 큰 數는 에러다. as will " z " characters in the middle of a group. White space between the characters is ignored and may occur anywhere to accommodate line-length limitations.

Ascii85의 한 가지 短點은 인코딩 데이터가 backslash나 quote 같은 en:escape character 를 包含할 수 있다는 것인데, 이것들은 많은 프로그래밍 言語나 一部 文字 基盤의 프로토콜에서 특별한 意味를 가지므로 問題가 될 수 있다. Z85는 소스 코드에서도 安全하도록 設計된 것이다. [1]

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

外部 링크 [ 編輯 ]