ord 和chr 對中文字元的應用

2021-07-30 15:06:37 字數 1676 閱讀 8135

一,ord()函式的應用

ord()函式用於返回乙個字元的ascii值,最基本的用法如獲取a 的ascii值ord('a')返回 97,但在實際開發中,應用最多的還是用於字元擷取函式中獲取中文字元高低位編碼的十進位制數,如常見的中文字元擷取函式具體可看看phpwind或 discuz!論壇源**中substrs()函式或cutstr()函式,其原理就是通過ord()函式獲取字元的ascii碼值,如果返回值大於 127則表示為中文字元的一半,再獲取後一半組合成乙個完整字元,同時結合字元編碼如gbk或utf-8等。 

以gbk編碼為例利用ord()函式判斷中文字元返回各中文字元的ascii值,**如下 

複製**

**如下:

$string = "不要迷戀哥"; 

$length = strlen($string); 

var_dump($string);//原始中文 

var_dump($length);//長度 

$result = array(); 

for($i=0;$i

var_dump($result); 

**說明 

1,定義乙個變數$string,其值為字串 

2,獲取變數的長度(位元組數) 

3,列印變數和變數的長度 

4,通過for迴圈獲取變數的各個位元組值,把乙個漢字的兩個位元組中間用空格隔開顯示。 

結果如下圖

**:「不要迷戀哥」為5個漢字,共10個位元組(乙個漢字2個位元組),分別列印各個位元組無法正常顯示如上圖

初始值不變修改for迴圈部分**顯示各個位元組ascii值

複製**

**如下:

$result = array(); 

for($i=0;$i

var_dump($result); 

如上**使用ord()函式列印各個字元的ascii值,結果如下 

通過ord()函式轉換後就能正常檢視各個字元的ascii值。 

二,chr()函式的應用

chr()函式的作用與ord()函式相反,用於返回指定的字元,如chr(97)返回a。 

結合上面例項,只要獲取到中文字元的ascii值,就可以通過chr()函式組裝出中文字元,**如下 

複製**

**如下:

$string = "不要迷戀哥"; 

$length = strlen($string); 

var_dump($string);//原始中文 

var_dump($length);//長度 

$result = array(); 

for($i=0;$i

var_dump($result); 

foreach($result as $v) 

結果如下圖 

如上**並沒有直接輸出中文字元,但列印出正常的漢字,其原理是首先獲取各個位元組的ascii值,通過chr()函式轉化為位元組,再把兩個位元組組合起來就形成了乙個完整的中文漢字。 

python的chr 和ord 函式

在程式設計的時候,我們會遇到處理ascii碼的時候,我們需要在字元和其ascii碼之間進行轉換。python中的chr 函式和ord 函式給我們提供了便利。我們舉個例子 查閱ascii碼表我們知道字母 a 對應的ascii碼值為65.chr 65 a 從這個例子我們可以看到chr 函式要輸入乙個整型...

python應用 pycharm中文字元的問題

變數中含有中文字元或者print中含有中文字元時會報錯 變數 str 你好 或print print 你好 控制台顯示為 g python python.exe c users llz pycharmprojects helloword new.py file c users llz pycharm...

python中chr 和ord 函式的用法

python中經常會獲得一些字串,但是我們在對其進行計算的時候需要先將其轉化為整型數。ord 函式就是用來返回單個字元的ascii值 0 255 或者unicode數值 ord d 100 ord 5 chr 函式是輸入乙個整數 0,255 返回其對應的ascii符號.chr 100 d chr 5...