簡體   English   中英

將十六進制轉義字符轉換為二進制

[英]converting hexadecimal escape chars to binary

我正在尋找一種將JavaScript字符統一轉換為二進制的方法。 我面臨的一個問題是我無法正確轉換unescape函數中使用的字符串

document.write("HI"); ==> HI (case 1)
document.write("\x48\x49");  ==> HI (case 2)
document.write(unescape("%48%49")); ==> HI (case 3)

情況1:將“ HI”轉換為二進制生成:

0100100001001001

情況2:將“ \\ x48 \\ x49”轉換為二進制會生成:

0100100001001001

情況3:將“%48%49”轉換為二進制會生成:

001001010011010000111000001001010011010000111001

我了解情況3發生了什么。它將每個char轉換為二進制,而沒有意識到這些char以十六進制表示。 我想知道是否有一種方法可以使情況3與情況1和情況2具有相同的二進制表示形式,而無需任何預處理?

即,是否有JavaScript,Python或任何其他語言的函數可以實現“%48”是用十六進制表示的一個字符並將其轉換為二進制?

decodeURIComponent是適合此功能的函數。 不建議使用decode功能。 這是一個例子。

如果您在輸入中輸入%48%49並單擊“轉換”按鈕,則會出現第二種情況。

 var test = document.querySelector("#test"); var btn = document.querySelector("#btn"); var result = document.querySelector("#result"); btn.addEventListener("click", function() { var value = decodeURIComponent(test.value); var resultText = ""; for (i = 0; i < value.length; i++) { resultText += value.charCodeAt(i).toString(2); } result.innerText = resultText; }); 
 <input type="text" id="test"> <button id="btn">Convert</button> <p id="result"></p> 

暫無
暫無

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

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