頁面顯示二進位制數原始據亂碼
通過 readAsBinaryString() 方法顯示的資料,可能不少朋友會有疑問。
原本以為是 0101010 這樣類似的二進位制,但是頁面顯示的確實亂碼和英文字元。
程式碼是如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="https://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #txt { width: 240px; height: 50px; line-height: 50px; border: 2px dotted green; font-size: 12px; text-align: center; } </style> <script> window.onload = ()=> { let reader; if (FileReader) { reader = new FileReader(); } else { alert('當前瀏覽器不支援'); return; } let inputFile = document.getElementById('file'); let txt = document.getElementById("txt"); inputFile.onchange = ()=> { let file = inputFile.files[0]; reader.readAsBinaryString(file); reader.onload = function () { txt.innerHTML = reader.result; } } } </script> </head> <body> <div><input type="file" id="file" /></div> <div id="txt"></div> </body> </html>
讀取內容為 "螞蟻部落www.softwhy.com" 文字檔案作為例子。
程式碼執行效果截圖如下:
可以看到列印結果並未期望的一串 1010101類似的二進位制形式。
上述現象分析如下:
(1).真正的二進位制資料我們並不能肉眼可見。
(2).原始二進位制資料是 0 或者 1,但是對應的我們肉眼可見的字元並不是 0 或者 1。
(3).所以,頁面列印出的 101010 不是真正的二進位制資料,而是普通字串。
(4).我們在頁面所看到的是,將原始資料當作字元編碼,找到對應的字元來顯示,於是就可能出現亂碼。
相關文章
- PbootCMS後臺頁面顯示亂碼boot
- 二進位制修復中文亂碼的問題
- 根據數字二進位制下 1 的數目排序排序
- 【Redis】原始碼編譯二進位制包Redis原始碼編譯
- 直播app原始碼,根據頁面滾動高亮顯示目錄的側邊欄APP原始碼
- 底部導航在一級頁面顯示,二級頁面不顯示
- 力扣 根據數字二進位制下1的數目排序力扣排序
- C++輸入十進位制數,輸出對應二進位制數、十六進位制數C++
- 輸出二進位制數
- 整數轉化成八進位制、十六進位制、二進位制,以及轉回
- ASCII碼是幾位二進位制碼?ASCII
- leetcode-1356. 根據數字二進位制下 1 的數目排序LeetCode排序
- leetcode.1356. 根據數字二進位制下 1 的數目排序LeetCode排序
- leetcode1356. 根據數字二進位制下 1 的數目排序LeetCode排序
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- INODE結構二進位制頁分析
- 二進位制反碼求和
- 二進位制與二進位制運算
- 進位制詳解:二進位制、八進位制和十六進位制
- 力扣1356.根據數字二進位制下1的數目排序力扣排序
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- 1417 二進位制數的大小
- 負數補碼(16進位制轉10進位制的負數)
- 教你如何進行數倉字串、二進位制、十六進位制互轉字串
- 二進位制
- (二進位制)
- 十進位制——二 (八、十六 )進位制
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 負數的二進位制數問題
- 遞迴函式實現十進位制正整數轉換為二進位制,八進位制,十六進位制遞迴函式
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- 二進位制漏洞挖掘之整數溢位
- 二進位制、十進位制與十六進位制相互轉化
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 二進位制中1的個數
- 二進位制轉十進位制快速方法