我想寫一個字符串到一個文件,該文件需要8-bit US ASCII
編碼。,哪種編碼方案是8位US ASCII?
哪種編碼方案應該用於方法String.getBytes(encodingScheme)
?
謝謝。
我想寫一個字符串到一個文件,該文件需要8-bit US ASCII
編碼。,哪種編碼方案是8位US ASCII?
哪種編碼方案應該用於方法String.getBytes(encodingScheme)
?
謝謝。
ASCII是一種7位編碼方案,沒有「8位ASCII」。
但是,許多編碼是ASCII兼容的,有些是8位透明的(即每個二進制序列映射到有效的字符串,反之亦然,如果您通過字符通道發送二進制數據而不編碼base64左右)。如果你只是想與ASCII兼容,UTF-8
是最好的選擇;如果你需要8位透明度,ISO-8859-1
。
請注意,上述建議僅在您希望傳輸純ASCII字符串或8位二進制字符串時纔有用。在大多數情況下,您實際上想要傳輸任意字符串,並且無法找到適當的編碼。
沒有「8位ASCII」這樣的東西。 ASCII有幾個8位「擴展」,包括ISO-8859-1和Windows-1252。這些可能是最常見的,但它們並不相同。你真的需要找出究竟是哪種編碼是預期的。
這兩個名字都可用via Java中的這些名稱 - 至少它們在我的JDK安裝中。 (例如,您可能會發現Windows-1252在Linux安裝上不可用。)
這裏有擴展的ascii,即在這個頁面的底部:http://www.ascii-code.com/ ascii還有很多8位變體:https://en.wikipedia.org/wiki/ASCII#8位 –
@Tamas:沒有人正確地命名爲「擴展ASCII」 - 只有幾個8位擴展名,每個擴展名都可能稱爲「擴展ASCII」。換句話說,如果某些東西將自己標識爲使用「擴展ASCII」,那幾乎是無用的。 –
ASCII是7位編碼。 – Joey