---
# System prepended metadata

title: 字符编码笔记：ASCII，Unicode 和 UTF-8
tags: [觀念重點區]

---

# 字符编码笔记：ASCII，Unicode 和 UTF-8
https://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html


## ASCII 、UTF-8 和 Unicode
https://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

![image](https://hackmd.io/_uploads/rypSs2vDT.png)
![image](https://hackmd.io/_uploads/ryH9hnPD6.png)


## base64
用來編譯傳送 不算加密 也不算hash
算是用來解決url =? 之類的編碼問題
像是http都是ASCII 所以queryString會有編碼問題
post裡面的資料也會有

當您透過基於HTTP的API上傳圖片時，通常需要將圖片轉換為Base64編碼格式。這是因為HTTP請求通常是以文字格式傳送，而Base64可以將二進制數據（如圖片文件）轉換為純文字格式，這樣就可以在HTTP請求中安全傳輸。

然而，在使用串流（streaming）上傳時，情況就有所不同。串流上傳允許數據在傳輸過程中逐步發送，而不是先將所有數據打包成一個完整的請求體。這意味著數據可以作為原始二進制格式直接傳輸，無需轉換為Base64。這樣做的好處是可以節省帶寬（因為Base64編碼會增加數據大小約33%）並可能提高傳輸效率。

總之，Base64編碼主要用於非串流的HTTP請求，以確保二進制數據能夠在純文字格式的請求中安全傳輸。串流上傳則允許直接傳輸二進制數據，無需這種轉換。

###### tags: `觀念重點區`