[英]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.