2013-08-23 44 views
1

維基百科針對Unicode在Latin 1 Supplement下列出了x80-x9F「C1」範圍。該範圍也保留在ISO-8859-1代碼頁中。什麼8位編碼使用C1範圍的字符? (x80-x9F或128-159)

我正在查看一個字符串文件,它們都在7位ASCII範圍內,除了\x96的幾個實例外,它看起來像一個破折號,例如街道地址的中間。

我不知道C1範圍內的其他字符是否最終會顯示在數據中,所以我想知道是否有正確的方式來讀取文件。是否有任何使用x80至x9F代替終端控制字符的字符數據的8位編碼?

+0

控制字符是從0x00到0x1F。 – Jiminion

+0

@Jim,我相信這些被稱爲「C0」控制字符。從高位開始還有另一個控制字符範圍(或至少在某些編碼中)。 –

回答

2

有該分配圖形字符的部分或全部字節到0x9F的範圍內0x80的8位編碼的大量(可能的無限數量)。 Microsoft定義的幾種編碼在字節位置0x96處具有U + 2013 EN DASH「 - 」,並且該字符可以想象出現在街道地址中,尤其是在數字之間。

另一方面,例如,例如,MacRoman在位置0x96處具有字母「ñ」,並且它可以很好地出現在西班牙語的街道名稱中。

爲了理性分析情況,您應該檢查整個數據,可能使用過濾器來查找Ascii範圍0x00到0x7F之外的所有字節,查看字符出現的上下文,並嘗試找到有關數據來源的技術信息。

+0

感謝您的擴大答案。細節更好。 –

+0

沒有無限的數字;有「唯一」(17 * 2^16)^ 128個可能的單字節ASCII超集映射到Unicode代碼點。 – dan04

+0

@ dan04,「潛在的無限數量」是一個強烈的表達,要表達一點,但仍然是字面上正確的。編碼不需要將代碼點映射到Unicode(儘管這是當今常見的方式);它可以將它們映射到人們可以發明的任何角色。 –

0

這是一個破折號。我猜測稍微不同於連字符(0x2D)。

http://www.ascii-code.com/

+0

你是對的!正確答案是[Windows-1252](https://en.wikipedia.org/wiki/Windows-1252)。他們的代碼頁包含Latin-1的擴展字符,它們不屬於ISO的Latin-1。 –

+0

Windows-1252是可能的答案之一。這個問題中包含的數據並不能證明任何特定的結論。 –

相關問題