[oeasy]python0131_[趣味拓展]各種符號(hào)_漢語(yǔ)拼音符號(hào)_中文全角英文字母_中文全角標(biāo)點(diǎn)
各種符號(hào)
回憶上次內(nèi)容
中文字符可以有各種分類方法
實(shí)際上unicode的排序方法
合轍押韻的分類
拼音檢字法
聲母
韻母
偏旁部首

我們以前勇闖地下城時(shí)候獲得了一把屠龍寶刀
給他鑲上了??寶石
這寶石應(yīng)該如何理解?
今天我們就來(lái)徹底解密紅色愛(ài)心的原理
閉環(huán)
首先是文字
我們的漢字可以構(gòu)成一個(gè)閉環(huán)

這?也可以構(gòu)成一個(gè)閉環(huán)嗎?
構(gòu)成閉環(huán)

這種編解碼方式是unicode-escape
也可以構(gòu)成閉環(huán)

這符號(hào)最初怎么來(lái)的呢?
插入符號(hào)
搜索出來(lái)的

? ? ? ?
把字符復(fù)制下來(lái)
然后粘到系統(tǒng)里面觀察
類似的有很多好玩的東西
??新聞?計(jì)算??
?動(dòng)院?編程?
加到名字里感覺(jué)萌萌噠
?(′???`?)
輸出符號(hào)
這些其實(shí)都是uncode字符

這個(gè)東西是可以作為字符串里的字符輸出的
但是他的 ordinal (序號(hào)) 是多少呢?
得到序號(hào)

通過(guò)字符得到序號(hào) ord
反過(guò)來(lái)通過(guò)序號(hào)得到字符 chr
輸出紅心試試

真的可以
這個(gè)紅桃符號(hào)在存儲(chǔ)和傳輸?shù)臅r(shí)候傳的都是二進(jìn)制形式
可以看看紅桃的序號(hào)的 16進(jìn)制 或者 2進(jìn)制 形式么 ?
16 進(jìn)制

字符可以拼合
前面一個(gè) \u
后面加上 4位 16進(jìn)制 數(shù)
就可以進(jìn)行輸出字符
好像是又在\轉(zhuǎn)義(escape)了
這次的轉(zhuǎn)義序列是
\u2660
黑紅梅方都可以有對(duì)應(yīng)序號(hào)么?
不要翻篇
上下找找
自己試試
遍歷花色
從0x2660到0x2670
將這16個(gè)數(shù)字對(duì)應(yīng)的字符進(jìn)行輸出

他們分別都是多少呢?
遍歷撲克

選出實(shí)心的黑紅梅方
轉(zhuǎn)義
我想要的不是默認(rèn)紅
我想要純紅色的大紅心
怎么辦?
回憶顏色
高亮基礎(chǔ)色
然后我們了解了\33[38;5;XXXm 索引顏色
每個(gè)顏色 0-5 總共 6 級(jí)
甚至可以用RGB得到各種顏色
\33[38;2;R;G;Bmoeasy\33[0m
顏色真不少了
我想用大紅色畫個(gè)桃心 ??
有可能嗎????
大紅心
\33[38;5;196
使用索引色
196 = 16 + 625 + 610 + 60*0
紅色打滿
rgb形式 也沒(méi)有問(wèn)題
那么 紅色方板 應(yīng)該怎么做呢?
這個(gè)\u 又是什么意思呢?
好像是也是一種通過(guò)數(shù)字找到對(duì)應(yīng)字符的方法
以前都有什么通過(guò)數(shù)字找字符的方法呢?
ascii
最基礎(chǔ)的肯定是ascii
sudo apt install ascii ascii
輸出字符
可以用\輸出字符
o 是八進(jìn)制數(shù)字
x意味著hexdecimal
h 是十六進(jìn)制數(shù)子
\xhh
\ooo

不要翻頁(yè)
再?gòu)?fù)習(xí) 如何用chr函數(shù)
通過(guò) 數(shù)字直接輸出
oeasy
字符串
輸出

嘗試用16進(jìn)制和8進(jìn)制輸出
數(shù)字化輸出

可是這個(gè)\u 究竟是什么呢?

不會(huì)了就去搜幫助
查看幫助

查找關(guān)于字符串的幫助
具體轉(zhuǎn)義序列語(yǔ)法如下

\nnn 8 進(jìn)制
\xhh 16 進(jìn)制
\uhhhh 4 位的 Unicode 編碼
\Uhhhhhhhh 8 位的 Unicode 編碼
那我們胡亂來(lái)試試吧
具體試試
\u后面
4 位 16 進(jìn)制數(shù)
對(duì)應(yīng)一個(gè)字符

這種對(duì)應(yīng)關(guān)系就像ascii
范圍更廣
字符更多
7 位 2進(jìn)制數(shù) 對(duì)應(yīng)一個(gè)字符
ascii
unicode
其中中文標(biāo)點(diǎn)
我們要特別注意
調(diào)出中文標(biāo)點(diǎn)
點(diǎn)擊桌面的sogou輸入法
開(kāi)啟中文輸入法模式

可以切換
中英文輸入法
全角半角
編程注意
編程的時(shí)候
不能使用中文標(biāo)點(diǎn)
只能使用英文標(biāo)點(diǎn)
這是為什么呢?

注意下圖的括號(hào)不是半角的
原理
中文括號(hào)和英文括號(hào)對(duì)應(yīng)的根本不是一個(gè)序號(hào)
就會(huì)報(bào)錯(cuò)了
python解釋器解釋不下去

引號(hào),逗號(hào)等符號(hào)都要使用英文半角的
在哪里切換標(biāo)點(diǎn)的全角半角呢?
切換全角半角標(biāo)點(diǎn)
下圖紅框位置就是切換全角半角標(biāo)點(diǎn)的位置
可以切換中英文標(biāo)點(diǎn)
那旁邊的月亮怎么理解呢?
全角半角英文字符
圓月是全角英文
半月是半角英文
為什么會(huì)有全角英文字符呢?
全角英文
序號(hào)位置在中文之后
最初目的是和中文字符等寬
其實(shí)也可以生成一系列特殊詞元token
因?yàn)檫@些詞元看起來(lái)是英文單詞
但實(shí)際上并不是
這應(yīng)該是一塊有趣的區(qū)域!
另外漢語(yǔ)拼音字符
應(yīng)該如何理解呢?
漢語(yǔ)拼音
漢語(yǔ)拼音符號(hào):ā á ǎ à ō ó ǒ ò ē é ě è ī í ǐ ì ū ú ǔ ù ǖ ǘ ǚ ǜ ü ê ɑ ń ň ? ɡ
這些序號(hào)
好像并不是連續(xù)的
可以將他們一起解碼嗎?
觀察unicode編碼
unicode中并沒(méi)有漢語(yǔ)拼音block
我們把各個(gè)地方散亂的字符
當(dāng)做漢語(yǔ)拼音來(lái)用...
ǖ ǘ ǚ ǜ ü 也是來(lái)自于拉丁語(yǔ)擴(kuò)展
更多拼音
閩南語(yǔ)、粵語(yǔ)等方言的音調(diào)更多
https://www.iamwawa.cn/yuepin.html
也有相應(yīng)的拼音字符
1.[á]/[a]
2.[ǎ]
3.[ā]
4.[a?]/[?]
5.[a?]
6.[à]
總結(jié)
這次再次輸出了大紅心<span style="color:red">?</span>
找到了紅心對(duì)應(yīng)的編碼
黑紅梅方都對(duì)應(yīng)有編碼
原來(lái)的編碼叫做 ascii?
\u
這種新的編碼方式叫unicodeunicode還可以有什么樣好玩的字符呢???
下次再說(shuō)!??
藍(lán)橋->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython