簡體   English   中英

將ISO-8859-1編碼字節轉換為UTF-8

[英]Convert ISO-8859-1 encoding bytes to UTF-8

我有一個二進制文件如下所示的文件:8950 4e47 0d0a 1a0a 0000 000d 4948 4452。

我想使用ISO-8859-1將這些字節解碼為字符串,例如,“ 50”是“ P”,“ 4E”是“ N”,47是“ G”。

但是,我無法在JavaScript中執行此操作,因為默認情況下,解碼方法“ fromCharCode()”為Unicode。

我能想到的是先將二進制文件本身轉換為UTF-8。 例如,ISO-8859-1中的“ 50”代表UTF-8中相同的值“ P”,因此“ 50”仍為“ 50”,但是ISO-8859-1中的“ 89”代表什么,我不知道知道如何選擇UTF-8編碼來替換它。

有人可以提供有關此轉換功能的幫助嗎?

您可以使用TextDecoder類。 如果您的瀏覽器不支持它 ,則可以使用此polyfill

 let bytes = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52]); let decoder = new TextDecoder('iso-8859-1'); console.log(decoder.decode(bytes)); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM