中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站的注冊(cè)頁(yè)面怎么做黃頁(yè)88網(wǎng)

網(wǎng)站的注冊(cè)頁(yè)面怎么做,黃頁(yè)88網(wǎng),95資料庫(kù),先做網(wǎng)站再備案嗎我們可能有時(shí)候在處理字符時(shí)需要處理到非ASCII的字符,比如將表情、阿拉伯語(yǔ)轉(zhuǎn)換為Unicode字符,從而避免在傳輸時(shí)會(huì)出現(xiàn)亂碼的情況。 Unicode驗(yàn)證網(wǎng)站: unicode轉(zhuǎn)換網(wǎng)站 目的:轉(zhuǎn)換下面除ASCII字符外的字符為Unicode字符&#x1f…

我們可能有時(shí)候在處理字符時(shí)需要處理到非ASCII的字符,比如將表情、阿拉伯語(yǔ)轉(zhuǎn)換為Unicode字符,從而避免在傳輸時(shí)會(huì)出現(xiàn)亂碼的情況。

Unicode驗(yàn)證網(wǎng)站:
unicode轉(zhuǎn)換網(wǎng)站

目的:轉(zhuǎn)換下面除ASCII字符外的字符為Unicode字符👇

🔥🎱é🕐  19h📱ma??o nos stories!link

一、encode方法

看過(guò)網(wǎng)上的一些技術(shù)文,像以下方法

text = "你好世界"
escaped_text = text.encode('unicode-escape')
print(escaped_text) # b'\\u4f60\\u597d\\u4e16\\u754c'

上面的確實(shí)可以轉(zhuǎn)換,但表情卻不行,比如"🔥🎱",轉(zhuǎn)換之后是\\U0001f525\\U0001f3b1
去掉轉(zhuǎn)義符號(hào)測(cè)試一下,沒(méi)辦法轉(zhuǎn)換

而我們?cè)囋嚲W(wǎng)站自身的編碼,同樣也是亂碼,不能正常解析出來(lái)

這個(gè)方法顯然不管用

二、高代理和低代理對(duì)處理方法

為了正確處理表情符號(hào)(Unicode Supplementary Characters),處理 Unicode 補(bǔ)充字符(Supplementary Characters),我們需要特別處理這些高代理和低代理對(duì),這些字符的編碼范圍在 0x10000 到 0x10FFFF 之間,通常用于表示表情符號(hào)等。

高代理和低代理對(duì)(surrogate pairs)是 Unicode 用來(lái)編碼超出基本多文種平面的字符的方法。基本多文種平面(BMP, Basic Multilingual Plane)包含從 0x0000 到 0xFFFF 的字符,而超出這個(gè)范圍的字符稱為補(bǔ)充字符(Supplementary Characters),它們的代碼點(diǎn)范圍是從 0x10000 到 0x10FFFF。

由于 UTF-16 編碼格式只能表示 0x0000 到 0xFFFF 范圍內(nèi)的字符,為了表示超出這個(gè)范圍的字符,Unicode 引入了代理對(duì)的概念。代理對(duì)由兩個(gè) 16 位的代碼單元組成:

  • 高代理單元(High Surrogate):范圍是 0xD800 到 0xDBFF,包含 1024 個(gè)代碼點(diǎn)。

  • 低代理單元(Low Surrogate):范圍是 0xDC00 到 0xDFFF,也包含 1024 個(gè)代碼點(diǎn)。

由于 UTF-16 不能直接表示這些字符,所以需要使用代理對(duì)(surrogate pairs)

補(bǔ)充字符通常為表情符號(hào),編碼值一般大于 0xFFFF(即 65535)

補(bǔ)充字符的處理

  1. 檢查字符是否是補(bǔ)充字符:
if code > 0xFFFF:

補(bǔ)充字符的編碼值大于 0xFFFF(即 65535)。

  1. 計(jì)算高代理:

high_surrogate = 0xD800 + ((code - 0x10000) >> 10)

code - 0x10000:將編碼值減去 0x10000,因?yàn)檠a(bǔ)充字符的編碼范圍是從 0x10000 開(kāi)始的。
(code - 0x10000) >> 10:將結(jié)果右移 10 位,得到高 10 位的值。
0xD800 + ...:將高 10 位的值加上 0xD800(高代理范圍的起始值)得到高代理的編碼值。
3. 計(jì)算低代理:

low_surrogate = 0xDC00 + ((code - 0x10000) & 0x3FF)

code - 0x10000:將編碼值減去 0x10000。
(code - 0x10000) & 0x3FF:將結(jié)果與 0x3FF 做按位與操作,得到低 10 位的值。
0xDC00 + ...:將低 10 位的值加上 0xDC00(低代理范圍的起始值)得到低代理的編碼值。
返回高代理和低代理對(duì)的 Unicode 轉(zhuǎn)義表示:

return f'\\u{high_surrogate:04x}\\u{low_surrogate:04x}'

\\u{high_surrogate:04x}:將高代理的編碼值格式化為 4 位的十六進(jìn)制數(shù),并添加 Unicode 轉(zhuǎn)義前綴 \u。
\\u{low_surrogate:04x}:將低代理的編碼值格式化為 4 位的十六進(jìn)制數(shù),并添加 Unicode 轉(zhuǎn)義前綴 \u。
通過(guò)這種方式,我們可以將補(bǔ)充字符正確地轉(zhuǎn)換為 Unicode 轉(zhuǎn)義表示,保證它們?cè)?JSON 文件中能以 \uXXXX\uXXXX 的形式表示。

處理非ASCII字符:

對(duì)于其他非ASCII字符(編碼值大于 127 且小于等于 0xFFFF),直接格式化為 \uXXXX。

elif code > 127:return f'\\u{code:04x}'

保留 ASCII 字符:

對(duì)于 ASCII 字符(編碼值小于等于 127),則直接返回字符本身。

最終代碼

unicode_str = '🔥🎱é🕐  19h📱ma??o nos stories!link'def encode_non_ascii_chars(input_str):def to_unicode_escape(char):code = ord(char)# 處理補(bǔ)充字符(補(bǔ)充字符,通常是表情符號(hào))# 補(bǔ)充字符的 Unicode 編碼范圍在 0x10000 到 0x10FFFF 之間。因?yàn)?UTF-16 不能直接表示這些字符,所以需要使用代理對(duì)(surrogate pairs)if code > 0xFFFF:  # Supplementary charactershigh_surrogate = 0xD800 + ((code - 0x10000) >> 10)low_surrogate = 0xDC00 + ((code - 0x10000) & 0x3FF)return f'\\u{high_surrogate:04x}\\u{low_surrogate:04x}'# 處理非ASCII字符# 對(duì)于其他非ASCII字符(編碼值大于 127 且小于等于 0xFFFF),直接格式化為 \uXXXX。elif code > 127:  # non-ASCIIreturn f'\\u{code:04x}'# 對(duì)于 ASCII 字符(編碼值小于等于 127),直接返回字符本身else:return charreturn ''.join(to_unicode_escape(char) for char in input_str)encoded_str = encode_non_ascii_chars(unicode_str)
print(encoded_str) # \ud83d\udd25\ud83c\udfb1\u00e9\ud83d\udd50  19h\ud83d\udcf1ma\u00e7\u00e3o nos stories!link

可正常轉(zhuǎn)換

推薦文章:

(2024 最新 GPT4、GPT4.0 升級(jí)教程)ChatGPT 升級(jí)銀行卡被拒絕,教你 5 分鐘快速升級(jí) chatgpt4

http://www.risenshineclean.com/news/27440.html

相關(guān)文章:

  • 國(guó)內(nèi)外優(yōu)秀設(shè)計(jì)網(wǎng)站營(yíng)銷網(wǎng)站搭建
  • 網(wǎng)站開(kāi)發(fā)怎么做平板電視seo優(yōu)化關(guān)鍵詞
  • 網(wǎng)站權(quán)限分配代碼知乎小說(shuō)推廣對(duì)接平臺(tái)
  • 個(gè)人網(wǎng)站備案要求重慶seo全面優(yōu)化
  • 網(wǎng)站建設(shè)-縱橫網(wǎng)絡(luò)鄭州seo優(yōu)化外包公司
  • 網(wǎng)站推廣服務(wù)具體內(nèi)容包括哪些0元做游戲代理
  • 工程造價(jià)定額在哪查網(wǎng)站推廣優(yōu)化設(shè)計(jì)方案
  • 織夢(mèng)網(wǎng)站被做跳轉(zhuǎn)企業(yè)宣傳軟文范例
  • 免費(fèi)網(wǎng)站注冊(cè)com重慶seo排名
  • 利用access做網(wǎng)站電腦培訓(xùn)網(wǎng)上免費(fèi)課程
  • 門戶網(wǎng)站制作石家莊網(wǎng)絡(luò)關(guān)鍵詞排名
  • 百度網(wǎng)站站長(zhǎng)工具個(gè)人博客登錄首頁(yè)
  • 織夢(mèng)手機(jī)網(wǎng)站圖片谷歌應(yīng)用商店app下載
  • 定制網(wǎng)站開(kāi)發(fā)成本估算表南寧整合推廣公司
  • vps掛網(wǎng)站哈爾濱網(wǎng)站建設(shè)
  • 購(gòu)物網(wǎng)站的名稱和網(wǎng)址英文網(wǎng)站設(shè)計(jì)公司
  • wordpress qq相冊(cè)青島神馬排名優(yōu)化
  • 長(zhǎng)清區(qū)網(wǎng)站建設(shè)宣傳免費(fèi)引流推廣方法
  • wordpress導(dǎo)航欄特效插件廈門seo外包
  • 南昌哪里學(xué)做網(wǎng)站代理推廣月入5萬(wàn)
  • 怎么制作軟件app教程優(yōu)化大師軟件大全
  • 遵化網(wǎng)站開(kāi)發(fā)太原網(wǎng)站制作優(yōu)化seo公司
  • 鄭州做網(wǎng)站哪個(gè)公司好百度推廣銷售
  • 東臺(tái)哪家專業(yè)做網(wǎng)站顧問(wèn)式營(yíng)銷
  • 廣州網(wǎng)站建設(shè)首選快優(yōu)市場(chǎng)調(diào)研報(bào)告ppt
  • 濟(jì)南做網(wǎng)站互聯(lián)網(wǎng)公司有哪些網(wǎng)絡(luò)營(yíng)銷熱點(diǎn)事件案例分析
  • 應(yīng)用小程序下載深圳網(wǎng)絡(luò)提速優(yōu)化服務(wù)包
  • 自動(dòng)生成海報(bào)的網(wǎng)站百度網(wǎng)址提交入口平臺(tái)
  • 如果做淘寶網(wǎng)站制作網(wǎng)站的平臺(tái)
  • 想做一個(gè)賭錢網(wǎng)站怎么做seo是什么?