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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

?

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

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

ANSI 字符集

美國國家標準協會(ANSI)定義了 8 位字符集來表示多達 256 個字符。前 128 個字符對應標準美國鍵盤上的字母和符號。后 128 個字符表示特殊字符,諸如國際字母表、重音符號、貨幣符號和分數。

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

Unicode 標準

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

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

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

ASCII 字符串

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

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

使用 ASCII 表

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

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

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

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

ASCII 控制字符

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

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

數字數據表示術語

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

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

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

格式數值格式數值
二進制數字字符串“01000001”十六進制數字字符串“41”
十進制數字字符串“65”八進制數字字符串

“101”

?

?

?

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。