日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符在计算机中是如何表示的?

發(fā)布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符在计算机中是如何表示的? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如果計(jì)算機(jī)只存儲二進(jìn)制數(shù)據(jù),那么它如何表示字符呢?計(jì)算機(jī)使用的是字符集,將字符映射為整數(shù)。早期,字符集只用 8 位表示。即使是現(xiàn)在,在字符模式(如 MS-DOS)下運(yùn)行時,IBM 兼容微機(jī)使用的還是 ASCII(讀為“askey”)字符集。

?

ASCII 是美國標(biāo)準(zhǔn)信息交換碼(AmeTican Standard Code for Information Interchange)的首字母縮寫。在 ASCII 中,每個字符都被分配了一個獨(dú)一無二的 7 位整數(shù)。

由于 ASCII 只用字節(jié)中的低 7 位,因此最高位在不同計(jì)算機(jī)上被用于創(chuàng)建其專有字符集。比如,IBM 兼容微機(jī)就用數(shù)值 128?255 來表示圖形符號和希臘字符。

ANSI 字符集

美國國家標(biāo)準(zhǔn)協(xié)會(ANSI)定義了 8 位字符集來表示多達(dá) 256 個字符。前 128 個字符對應(yīng)標(biāo)準(zhǔn)美國鍵盤上的字母和符號。后 128 個字符表示特殊字符,諸如國際字母表、重音符號、貨幣符號和分?jǐn)?shù)。

Microsoft Windows 早期版本使用 ANSI 字符集。

Unicode 標(biāo)準(zhǔn)

當(dāng)前,計(jì)算機(jī)必須能表示計(jì)算機(jī)軟件中世界上各種各樣的語言。因此,Unicode 被創(chuàng)建出來,用于提供一種定義文字和符號的通用方法。

Unicode 定義了數(shù)字代碼(稱為代碼點(diǎn)(code point)),定義的對象為文字、符號以及所有主要語言中使用的標(biāo)點(diǎn)符號,包括歐洲字母文字、中東的從右到左書寫的文字和很多亞洲文字。代碼點(diǎn)轉(zhuǎn)換為可顯示字符的格式有三種:

  • UTF-8 用于 HTML,與 ASCII 有相同的字節(jié)數(shù)值。
  • UTF-16 用于節(jié)約使用內(nèi)存與高效訪問字符相互平衡的環(huán)境中。比如,Microsoft Windows 近期版本使用了 UTF-16,其中的每個字符都有一個 16 位的編碼。
  • UTF-32 用于不考慮空間,但需要固定寬度字符的環(huán)境中。每個字符都有一個 32 位的編碼。

ASCII 字符串

有一個或多個字符的序列被稱為字符串(string)。更具體地說,一個 ASCII 字符串是保存在內(nèi)存中的,包含了 ASCII 代碼的連續(xù)字節(jié)。比如,字符串“ABC123”的數(shù)字代碼是 41h、42h、43h、31h、32h 和 33h。

以空字節(jié)結(jié)束(null-terminated)的字符串是指,在字符串的結(jié)尾處有一個為 0 的字節(jié)。C 和 C++ 語言使用的是以空字節(jié)結(jié)束的字符串,一些 Windows 操作系統(tǒng)函數(shù)也要求字符串使用這種格式。

使用 ASCII 表

下圖中列出了在 Windows 控制臺模式下運(yùn)行時使用的 ASCII 碼。

在查找字符的十六進(jìn)制 ASCII 碼時,先沿著表格最上面一行,再找到包含要轉(zhuǎn)換字符的列即可。表格第二行是該十六進(jìn)制數(shù)值的最高位;左起第二列是最低位。

例如,要查找字母 a 的 ASCII 碼,先找到包含該字母的列,在這一列第二行中找到第一個十六進(jìn)制數(shù)字 6。然后,找到包含 a 的行的左起第二列,其數(shù)字為 1。因此,a 的 ASCII 碼是十六進(jìn)制數(shù) 61。

下圖用簡單的形式說明了這個過程:

ASCII 控制字符

0?31 的字符代碼被稱為 ASCII 控制字符。若程序用這些代碼編寫標(biāo)準(zhǔn)輸出(比如 C++ 中),控制字符就會執(zhí)行預(yù)先定義的動作。下表列出了該范圍內(nèi)最常用的字符。

ASCII碼(十進(jìn)制)說明ASCII碼(十進(jìn)制)說明
8回退符(向左移動一列)12換頁符(移動到下一個打印頁)
9水平制表符(向前跳過 n 列)13回車符(移動到最左邊的輸出列)
10換行符(移動到下一個輸出行)27換碼符

數(shù)字?jǐn)?shù)據(jù)表示術(shù)語

用精確的術(shù)語描述內(nèi)存中和顯示屏上的數(shù)字及字符是非常重要的。比如,在內(nèi)存中用單字節(jié)保存十進(jìn)制數(shù) 65,形式為 0100 0001。調(diào)試程序可能會將該字節(jié)顯示為“41”,這個數(shù)字的十六進(jìn)制形式。

如果這個字節(jié)復(fù)制到顯存中,則顯示屏上可能顯示字母“A”,因?yàn)樵?ASCII 碼中,0100 0001 代表的是字母 A。由于數(shù)字的解釋可以依賴于它的上下文,因此,下面為每個數(shù)據(jù)表示類型分配一個特定的名稱,以便將來的討論更加清晰:

二進(jìn)制整數(shù)是指,以其原始格式保存在內(nèi)存中的整數(shù),以備用于計(jì)算。二進(jìn)制整數(shù)保存形式為 8 位的倍數(shù)(如 8、16、32 或 64)。
數(shù)字字符串是一串 ASCII 字符,例如“123”或“65”。這是一種簡單的數(shù)字表示法,下表以十進(jìn)制數(shù) 65 為例,列出了這種表示法能使用的各種形式。

格式數(shù)值格式數(shù)值
二進(jìn)制數(shù)字字符串“01000001”十六進(jìn)制數(shù)字字符串“41”
十進(jìn)制數(shù)字字符串“65”八進(jìn)制數(shù)字字符串

“101”

?

?

?

下一篇:1.11?字符在計(jì)算機(jī)中是如何表示的
1.12?匯編語言布爾表達(dá)式
處理器架構(gòu)
2.1?CPU處理器架構(gòu)
2.2?32位x86處理器架構(gòu)
2.3?x86-64處理器架構(gòu)
2.4?x86計(jì)算機(jī)組件
匯編語言基礎(chǔ)
3.1?第一個匯編語言程序
3.2?匯編語言常量
3.3?匯編語言保留字
3.4?匯編語言標(biāo)識符
3.5?匯編語言偽指令

總結(jié)

以上是生活随笔為你收集整理的字符在计算机中是如何表示的?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。