<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-TW">
		<id>https://tw.18dao.net/index.php?action=history&amp;feed=atom&amp;title=%E6%9F%A5ASC%E7%A2%BC%2F%E7%90%86%E8%A7%A3ASCII%E7%A2%BC</id>
		<title>查ASC碼/理解ASCII碼 - 修訂歷史</title>
		<link rel="self" type="application/atom+xml" href="https://tw.18dao.net/index.php?action=history&amp;feed=atom&amp;title=%E6%9F%A5ASC%E7%A2%BC%2F%E7%90%86%E8%A7%A3ASCII%E7%A2%BC"/>
		<link rel="alternate" type="text/html" href="https://tw.18dao.net/index.php?title=%E6%9F%A5ASC%E7%A2%BC/%E7%90%86%E8%A7%A3ASCII%E7%A2%BC&amp;action=history"/>
		<updated>2026-06-16T09:20:09Z</updated>
		<subtitle>本 Wiki 上此頁面的修訂歷史</subtitle>
		<generator>MediaWiki 1.27.0</generator>

	<entry>
		<id>https://tw.18dao.net/index.php?title=%E6%9F%A5ASC%E7%A2%BC/%E7%90%86%E8%A7%A3ASCII%E7%A2%BC&amp;diff=45845&amp;oldid=prev</id>
		<title>Tracy 於 2006年12月1日 (五) 10:15</title>
		<link rel="alternate" type="text/html" href="https://tw.18dao.net/index.php?title=%E6%9F%A5ASC%E7%A2%BC/%E7%90%86%E8%A7%A3ASCII%E7%A2%BC&amp;diff=45845&amp;oldid=prev"/>
				<updated>2006-12-01T10:15:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{{查ASC碼/內容頂部}}&lt;br /&gt;
　　最近在寫一個串口程式，設備提供商的通訊協定說明中明確了內部通訊方式為“ASCII碼”。其實每個和電腦打交道的人都會天天接觸ASCII碼，只是ASCII碼藏在了幕後，我們很少與之正面打交道罷了，這次機會正好讓我有機會到幕後去看看ASCII碼的“廬山真面目”。&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　ASCII碼眾所周知全稱為“美國資訊交換標準碼，American Standard Code for Information Interchange”。不能不佩服美國人，我這裏決不是崇洋媚外，美國人在電腦領域對人類的貢獻是絕對應該被我們所牢記的，對現代人來說，這些貢獻絲毫不亞于中國人的四大發明。言歸正傳，個人覺得瞭解ASCII的由來是理解ASCII碼的最好方法。&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　一、背景&lt;br /&gt;
&lt;br /&gt;
　　人們發明了電腦，並知道如何使用記憶體中的0101來表示數和機器碼。但是人類最主要的資訊展現形式是文本，如何用記憶體中的bit來表示文本一直困擾著人們，這種情況一直持續到ASCII碼發明成功後才被“部分”[注1]解決。說白了ASCII碼就是解決了一個以數位形式表示文本的問題。&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　二、實例&lt;br /&gt;
&lt;br /&gt;
　　讓我們到幕後去看看，看看ASCII碼是如何以數位形式表示文本的。舉2個例子：&lt;br /&gt;
&lt;br /&gt;
　　(1) ASCII碼'A' -- 其記憶體存儲位元組2進制表示為&amp;quot;01000001&amp;quot; --- 其16進制值為0x41 --- 其10進制值為65(這裏的值實際上是'A'在ASCII碼表中編號)；&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　驗證過程：&lt;br /&gt;
&lt;br /&gt;
　　char c = 'A';&lt;br /&gt;
&lt;br /&gt;
　　printf(&amp;quot;%c\n&amp;quot;, c); /* A */&lt;br /&gt;
&lt;br /&gt;
　　printf(&amp;quot;%x\n&amp;quot;, c); /* 41 */&lt;br /&gt;
&lt;br /&gt;
　　printf(&amp;quot;%d\n&amp;quot;, c); /* 65 */&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　(2) ASCII碼'6' -- 其記憶體存儲位元組2進制表示為&amp;quot;00110110&amp;quot; --- 其16進制值為0x36 --- 其10進制值為54(這裏的值實際上是'6'在ASCII碼表中的編號)；&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　驗證過程：&lt;br /&gt;
&lt;br /&gt;
　　char c = '6';&lt;br /&gt;
&lt;br /&gt;
　　printf(&amp;quot;%c\n&amp;quot;, c); /* 6 */&lt;br /&gt;
&lt;br /&gt;
　　printf(&amp;quot;%x\n&amp;quot;, c); /* 36 */&lt;br /&gt;
&lt;br /&gt;
　　printf(&amp;quot;%d\n&amp;quot;, c); /* 54 */&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　三、ASCII碼通訊&lt;br /&gt;
&lt;br /&gt;
　　利用ASCII碼作為通訊方式到底是一種什麼樣的通訊方式呢？（FTP協定中有兩種通訊方式，其中一種是ASCII碼方式，即文本方式）這裏也舉例說明：比如我們要傳送數值123, 123數值用16進制表示為0x7b，以二進位表示為01111011，那麼以二進位方式通訊，01111011就是我們真實傳送的資料，但是如果以ASCII碼方式通訊，則完全不同了，如果你還傳送01111011的話，對方那邊的得到的將是'{'('{'對應的ASCII碼用16進制表示為7b)。那麼我們該如何怎麼傳呢？正確的方式就是將123每位元上的數字轉化為其相應的ASCII碼，然後傳送。這裏'1'、'2'和'3'對應的ASCII碼用16進制表示分別為0x31、0x32和0x33。這樣組合起來後要傳送的資料應為&amp;quot;001100010011001000110011&amp;quot;。&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　四、總結&lt;br /&gt;
&lt;br /&gt;
　　一個字串在記憶體中就是按照逐個字元的ASCII碼連續存放的，我們在傳送字串時一般無需做特殊轉換。&lt;br /&gt;
&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
　　[注1]&lt;br /&gt;
&lt;br /&gt;
　　儘管ASCII碼是電腦世界裏最重要的標準，但它並不是完美的。ASCII碼的最大問題在於它太傾向於美國！的確， ASCII碼即使對那些以英語為主要語言的國家也幾乎是不合適的。儘管ASCII碼包含有美元符號，但英鎊符號呢？還有許多西歐國家語言中用到的重音符號呢？更不用說在歐洲一些國家裏使用的非拉丁字母，包括希臘文、阿拉伯文、希伯來文和西瑞爾文。此外，還有印度及東南亞國家用到的婆羅門教的手跡。而一個7位元編碼又如何來處理成千上萬的中文、日文、韓文筆劃以及韓語音節？-- 摘自《編碼的奧秘》&lt;br /&gt;
[[Category:查ASC碼]]&lt;br /&gt;
　　&lt;br /&gt;
&lt;br /&gt;
{{查ASC碼/內容底部}}&lt;/div&gt;</summary>
		<author><name>Tracy</name></author>	</entry>

	</feed>