常見的編碼技術簡介

常見的編碼技術簡介

文章目錄

  • 常見的編碼技術簡介
    • 1. 字符編碼
      • 1.1 ASCII
      • 1.2 Unicode
    • 2. 數據傳輸編碼
      • 2.1 Base系列編碼
        • 2.1.1 Base64
        • 2.1.2 Base16
        • 2.1.3 Base32
        • 2.1.4 Base85
        • 2.1.5 其他Base編碼
      • 2.2 URL編碼
      • 2.3 JSON
      • 2.4 XML
      • 2.5 Protobuf (Protocol Buffers)

1. 字符編碼

1.1 ASCII

ASCII(American Standard Code for Information Interchange),是基于7位二進制數的字符編碼標準。包括128個字符,每個字符都對應一個0到127之間的數字。

1.2 Unicode

一種全球通用的字符編碼標準,支持幾乎所有語言的字符。常見的Unicode實現包括UTF-8、UTF-16和UTF-32。

  • UTF-8:可變長度的字符編碼,使用1到4個字節編碼所有的Unicode字符。兼容ASCII,廣泛用于網頁和文檔中。
  • UTF-16:使用2或4個字節編碼所有的Unicode字符。
  • UTF-32:使用4個字節編碼所有的Unicode字符。

字符串:hello你好!
Unicode(UTF-8)編碼:hello\u4f60\u597d!

2. 數據傳輸編碼

2.1 Base系列編碼

2.1.1 Base64

Base64是一種使用 64 個字符(A-Z,a-z,0-9,+ 和 /)來表示二進制數據的編碼方法。

效率:每 3 個字節編碼為 4 個字符,數據膨脹為原來的 4/3 倍(約 1.33 倍)

應用場景:電子郵件附件的編碼(MIME)、在URL中嵌入二進制數據、數據庫中的二進制數據存儲、XML/JSON等二進制

字符串:hello你好!
Base64:aGVsbG/kvaDlpb0h

2.1.2 Base16

Base16是一種使用 16 個字符(0-9, A-F)來表示二進制數據的編碼方法。

效率:每個字節(8 位)用兩個字符表示,數據膨脹為原來的 2 倍

應用場景:數字簽名、哈希值等的表示、調試和診斷工具中用于顯示二進制數據、URL編碼

字符串:hello你好!
Base16:68656C6C6FE4BDA0E5A5BD21

2.1.3 Base32

Base16是一種使用 32 個字符(A-Z, 2-7)來表示二進制數據的編碼方法。

效率:每 5 個字節編碼為 8 個字符,數據膨脹為原來的 1.6 倍

應用場景:電子郵件地址的校驗、密鑰和令牌的編碼、一次性密碼(OTP)

2.1.4 Base85

Base85是一種使用 85 個字符(0-9,A-Z,a-z,$% ()*+,-./:;?@ []^_`{|}~)來表示二進制數據的編碼方法。

效率:每 4 個字節編碼為 5 個字符,數據膨脹為原來的 5/4 倍(約 1.25 倍)

應用場景:Adobe的PostScript和PDF,git編碼patch文件

2.1.5 其他Base編碼

Base36: 數字0-9,A-Z 或 a-z
Base58: 123456789 ABCDEFGHJKLMNPQRSTUVWXYZ abcdefghijkmnopqrstuvwxyz (去掉 數字0 大寫字母I和O 小寫字母l)
Base62: 數字0-9,A-Z,a-z
Base91: 0x21-0x7E (去掉 0x27 0x2D 0x5C)

2.2 URL編碼

URL編碼,用于在URL中傳輸特殊字符。特殊字符被替換為%加上兩位十六進制數字。例如,空格被編碼為%20,&符號被編碼為%26

字符串:hello你好!
URL編碼:hello%E4%BD%A0%E5%A5%BD%21

2.3 JSON

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于人和機器閱讀和編寫。

{"message": "hello你好!"
}

2.4 XML

一種標記語言,常用于配置文件、文檔存儲和數據交換

<data><message>hello你好!</message>
</data>

2.5 Protobuf (Protocol Buffers)

Google開發的一種語言中立、平臺中立、可擴展的二進制序列化格式

message Data {required string message = 1;
}

License

License under CC BY-NC-ND 4.0: 署名-非商業使用-禁止演繹

如需轉載請標明出處:http://blog.csdn.net/itas109


Refrence:
NULL

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40394.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40394.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40394.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI是在幫助開發者還是取代他們?——探討AI在軟件開發中的角色與未來

引言 隨著人工智能技術的迅猛發展&#xff0c;AI工具在軟件開發中的應用越來越廣泛。有人認為AI可以顯著提升開發者的效率&#xff0c;而也有人擔心AI會取代開發者的工作。本文將從三個方面探討AI在軟件開發中的角色&#xff1a;AI工具現狀、AI對開發者的影響以及AI開發的未來…

學習springAOP

第三章 Spring AOP 第一節 AOP 簡介 1. 概念 AOP全稱為Aspect Oriented Programming&#xff0c;表示面向切面編程。何為切面呢&#xff1f; 由此可以得出&#xff0c;切面是一種將那些與業務無關&#xff0c;但業務模塊都需要使用的功能封裝起來的技術。這樣便于減少系統的…

昇思25天學習打卡營第4天|應用實踐

昇思25天學習打卡營第4天 文章目錄 昇思25天學習打卡營第4天基于 MindSpore 實現 BERT 對話情緒識別模型簡介環境配置數據集數據加載和數據預處理input_idsattention_mask 模型構建模型驗證模型推理自定義推理數據集 打卡記錄 基于 MindSpore 實現 BERT 對話情緒識別 模型簡介…

奧比中光astra_pro相機使用記錄

一、信息獲取 1、官網 用于了解產品信息 http://www.orbbec.com.cn/sys/37.html 2、開發者社區 咨詢問題下載開發部https://developer.orbbec.com.cn/ 二 、windowvs19 1、相機型號 orbbec_astro_pro 根據對應的型號找到需要的包工具 踩坑1&#xff0c;因為這個相機型號…

第20章 Mac+VSCode配置C++環境

1. 下載VSCode VSCode下載地址在mac終端里輸入xcode- select --install命令&#xff0c;根據提示安裝xcode工具。 2. 安裝插件&#xff08;4個&#xff09; 打開VScode&#xff0c;點擊應用右側菜單欄 C/C&#xff08;必裝&#xff09; Code Runner&#xff08;必裝&#xf…

UCOS-III 任務調度與就緒列表管理

01. 就緒優先級位圖 在實時操作系統中&#xff0c;任務調度的效率至關重要。UCOS-III通過就緒優先級位圖來快速查找最高優先級的就緒任務&#xff0c;從而實現高效調度。就緒優先級位圖是一個按位表示的結構&#xff0c;每個位代表一個優先級&#xff0c;當某個優先級上有任務就…

高效管理 TensorFlow 2 GPU 顯存的實用指南

前言 在使用 TensorFlow 2 進行訓練或預測時&#xff0c;合理管理 GPU 顯存至關重要。未能有效管理和釋放 GPU 顯存可能導致顯存泄漏&#xff0c;進而影響后續的計算任務。在這篇文章中&#xff0c;我們將探討幾種方法來有效釋放 GPU 顯存&#xff0c;包括常規方法和強制終止任…

【FFmpeg】avcodec_open2函數

目錄 1. avcodec_open21.1 編解碼器的預初始化&#xff08;ff_encode_preinit & ff_decode_preinit&#xff09;1.2 編解碼器的初始化&#xff08;init&#xff09;1.3 釋放編解碼器&#xff08;ff_codec_close&#xff09; FFmpeg相關記錄&#xff1a; 示例工程&#xff…

Windows編程之多線程事件對象(Event Object)用法詳解

目錄 一、前言 二、基礎用法 三、API詳解 1.創建事件對象 2控制事件狀態 3.等待事件對象&#xff1a; 四、實戰案例 1.案例描述 2.代碼設計 3.總設計代碼 4.運行結果 一、前言 事件對象&#xff08;Event Object&#xff09;是我們在大型項目中&#xff0c;進行多線…

競賽選題 醫學大數據分析 - 心血管疾病分析

文章目錄 1 前言1 課題背景2 數據處理3 數據可視化4 最后 1 前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大數據的心血管疾病分析 該項目較為新穎&#xff0c;適合作為競賽課題方向&#xff0c;學長非常推薦&#xff01; &#x1f9…

AI繪畫Stable Diffusion 解鎖精美壁紙創作:利用SD與LLM定制你的專屬壁紙,AI副業變現指南!

大家好&#xff0c;我是畫畫的小強 今天給大家分享一下用AI繪畫Stable Diffusion 制作精美手機壁紙&#xff0c;這也可能是當前最快AIGC變現的一種途徑。雖然本文的主題為手機壁紙&#xff0c;當調整不同的比例的分辨率寬高比例&#xff0c;就可以直接復用到手機、電腦和平板、…

旋轉和鏡像的關系

旋轉矩陣行列式與 在E(3)三維空間中&#xff0c;旋轉矩陣的行列式可以用來判斷該旋轉是否包含鏡像變換。 行列式為正&#xff1a; 表示純旋轉&#xff0c;不包含鏡像。 旋轉矩陣保持向量的長度和角度不變&#xff0c;只是改變向量的方向。 行列式為負&#xff1a; 表示旋轉…

機器學習原理之 -- 支持向量機分類:由來及原理詳解

支持向量機&#xff08;Support Vector Machine, SVM&#xff09;是統計學習理論的一個重要成果&#xff0c;廣泛應用于分類和回歸問題。SVM以其高效的分類性能和良好的泛化能力在機器學習領域中占據重要地位。本文將詳細介紹支持向量機的由來、基本原理、構建過程及其優缺點。…

LVS負載均衡群集部署之——DR模式的介紹及搭建步驟

一、LVS-DR集群介紹1.1 LVS-DR 工作原理1.2 數據包流向分析1.3 LVS-DR 模式的特點1.4 LVS-DR中的ARP問題1.4.1 問題一1.4.2 問題二二、構建LVS-DR集群2.1 構建LVS-DR集群的步驟&#xff08;理論&#xff09;1.配置負載調度器&#xff08;192.168.80.30&#xff09;&#xff08;…

5分鐘教你用AI把老照片動起來,別再去花49塊9的冤枉錢了

文章目錄 需要的工具 最近&#xff0c;AI視頻在各大平臺上&#xff0c;又火了。 只是火的形式&#xff0c;變成了將老照片動起來&#xff0c;打情感牌&#xff0c;或者做很多經典電視劇的再整活。 直接把可靈的生成時間&#xff0c;從以前的4分鐘&#xff0c;生生的干成了20分鐘…

鴻蒙應用筆記

安裝就跳過了&#xff0c;一直點點就可以了 配置跳過&#xff0c;就自動下了點東西。 鴻蒙那個下載要12g個內存&#xff0c;大的有點嚇人。 里面跟idea沒區別 模擬器或者真機運行 真機要鴻蒙4.0&#xff0c;就可以實機調試 直接在手機里面跑&#xff0c;這個牛逼&#xf…

國標GB/T 28181詳解:國標GBT28181-2022 SIP服務器發起廣播的命令流程

目錄 一、定義 二、作用 1、實現信息的集中管理和分發 &#xff08;1&#xff09;信息集中 &#xff08;2&#xff09;信息分發 2、提高信息傳輸的可靠性和效率 &#xff08;1&#xff09;可靠性 &#xff08;2&#xff09;提高效率 3、支持多種設備和系統的互通 &am…

mongdb學習與使用

1. 基礎概念 MongoDB簡介&#xff1a; MongoDB是一個基于文檔的NoSQL數據庫&#xff0c;具有高性能、高可用性和易擴展性。數據存儲在類似JSON的BSON格式中。 基本術語&#xff1a; Database&#xff08;數據庫&#xff09;&#xff1a; 集合的容器。Collection&#xff08;集合…

國產強大免費WAF, 社區版雷池動態防護介紹

雷池WAF&#xff0c;基于智能語義分析的下一代 Web 應用防火墻 使用情況 我司于2023年4月23日對雷池進行測試&#xff0c;測試一個月后&#xff0c;于2023年5月24日對雷池進行正式切換&#xff0c;此時版本為1.5.1。 里程碑紀念 后續一直跟隨雷池進行版本升級&#xff0c;當前…

QT_GUI

1、QT安裝 一個跨平臺的應用程序和用戶界面框架&#xff0c;用于開發圖形用戶界面&#xff08;GUI&#xff09;應用程序以及命令行工具。QT有商業版額免費開源版&#xff0c;一般使用免費開源版即可&#xff0c;下面安裝的是QT5&#xff0c;因為出來較早&#xff0c;使用較多&…