[轉]回車、換行、空格的ASCII碼值—(附ASCII碼表)


回車,ASCII碼13,"\r"
換行,ASCII碼10,"\n"
空格,ASCII碼32

Return   =   CR   =   13   =   '\x0d'
NewLine   =   LF   =   10   =   '\x0a'

 

回車符號和換行符號產生背景

關於“回車”(carriage return)和“換行”(line feed)這兩個概念的來歷和區別。
在計算機還沒有出現之前,有一種叫做電傳打字機(Teletype Model 33)的玩意,每秒鍾可以打10個字符。但是它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字符。要是在這0.2秒里面,又有新的字符傳過來,那么這個字符將丟失。
於是,研制人員想了個辦法解決這個問題,就是在每行后面加兩個表示結束的字符。一個叫做“回車”,告訴打字機把打印頭定位在左邊界;另一個叫做“換行”,告訴打字機把紙向下移一行。
這就是“換行”和“回車”的來歷,從它們的英語名字上也可以看出一二。
后來,計算機發明了,這兩個概念也就被般到了計算機上。那時,存儲器很貴,一些科學家認為在每行結尾加兩個字符太浪費了,加一個就可以。於是,就出現了分歧。
Unix系統里,每行結尾只有“<換行>”,即“\n”;Windows系統里面,每行結尾是“ <回車><換行>”,即“\r\n”;Mac系統里,每行結尾是“<回車>”。一個直接后果是,Unix/Mac系統下的文件在Windows里打開的話,所有文字會變成一行;而Windows里的文件在Unix/Mac下打開的話,在每行的結尾可能會多出一個^M符號

windows創建的文件是 \n\r結束的, 而linux,mac這種unix類系統是\n結束的。

所以unix的文本到windows會出現換行丟失(ultraedit這種軟件可以正確識別); 而反過來就會出現^M的符號了

Windows等操作系統用的文本換行符和UNIX/Linux操作系統用的不同,Windows系統下輸入的換行符在UNIX/Linux下不會顯示為“換行”,而是顯示為 ^M 這個符號(這是Linux等系統下規定的特殊標記,占一個字符大小,不是 ^ 和 M 的組合,打印不出來的)。Linux下很多文本編輯器(命令行)會在顯示這個標記之后,補上一個自己的換行符,以避免內容混亂(只是用於顯示,補充的換行符不會寫入文件,有專門的命令將Windows換行符替換為Linux換行符)。 UNIX/Linux系統下的換行符在Windows系統的文本編輯器中會被忽略,整個文本會亂成一團。

 

windows換行是\r\n,十六進制數值是:0D0A。
LINUX換行是\n,十六進制數值是:0A
所以在linux保存的文件在windows上用記事本看的話會出現黑點,我們可以在LINUX下用命令把linux的文件格式轉換成win格式的。
unix2dos 是把linux文件格式轉換成windows文件格式
dos2unix 是把windows格式轉換成linux文件格式。

 

linux下刪除windows換行符^M

OJ判題時發現一個問題:用%c讀入的代碼都會報wa。后來發現跟scanf有關。在linux下使用%c會讀到\n和\r兩個字符。所以需要將^M(也就是\r)字符刪掉
刪除方法不少。找了一個比較簡單的。
要將a.txt里的^M去掉並寫入b.txt,則使用如下指令cat a.txt | tr -d "^M" > b.txt
注意:語句中的^M是通過ctrl+V, ctrl+M輸入的。特指/r字符

unix 下換行符只有: \r 
Dos 下換行符有:\r\n 
具體的, \r的ascii 碼是:14 
\n的ascii 碼是:10

 

 

ASCII碼表

 

信 息在計算機上是用二進制表示的,這種表示法讓人理解就很困難。因此計算機上都配有輸入和輸出設備,這些設備的主要目的就是,以一種人類可閱讀的形式將信息 在這些設備上顯示出來供人閱讀理解。為保證人類和設備,設備和計算機之間能進行正確的信息交換,人們編制的統一的信息交換代碼,這就是ASCII碼表,它的全稱是“美國信息交換標准代碼”。

 

 


 

 

八進制 十六進制 十進制 字符 八進制 十六進制 十進制 字符
00 00 0 nul 100 40 64 @
01 01 1 soh 101 41 65 A
02 02 2 stx 102 42 66 B
03 03 3 etx 103 43 67 C
04 04 4 eot 104 44 68 D
05 05 5 enq 105 45 69 E
06 06 6 ack 106 46 70 F
07 07 7 bel 107 47 71 G
10 08 8 bs 110 48 72 H
11 09 9 ht 111 49 73 I
12 0a 10 nl 112 4a 74 J
13 0b 11 vt 113 4b 75 K
14 0c 12 ff 114 4c 76 L
15 0d 13 er 115 4d 77 M
16 0e 14 so 116 4e 78 N
17 0f 15 si 117 4f 79 O
20 10 16 dle 120 50 80 P
21 11 17 dc1 121 51 81 Q
22 12 18 dc2 122 52 82 R
23 13 19 dc3 123 53 83 S
24 14 20 dc4 124 54 84 T
25 15 21 nak 125 55 85 U
26 16 22 syn 126 56 86 V
27 17 23 etb 127 57 87 W
30 18 24 can 130 58 88 X
31 19 25 em 131 59 89 Y
32 1a 26 sub 132 5a 90 Z
33 1b 27 esc 133 5b 91 [
34 1c 28 fs 134 5c 92 \
35 1d 29 gs 135 5d 93 ]
36 1e 30 re 136 5e 94 ^
37 1f 31 us 137 5f 95 _
40 20 32 sp 140 60 96 '
41 21 33 ! 141 61 97 a
42 22 34 " 142 62 98 b
43 23 35 # 143 63 99 c
44 24 36 $ 144 64 100 d
45 25 37 % 145 65 101 e
46 26 38 & 146 66 102 f
47 27 39 ` 147 67 103 g
50 28 40 ( 150 68 104 h
51 29 41 ) 151 69 105 i
52 2a 42 * 152 6a 106 j
53 2b 43 + 153 6b 107 k
54 2c 44 , 154 6c 108 l
55 2d 45 - 155 6d 109 m
56 2e 46 . 156 6e 110 n
57 2f 47 / 157 6f 111 o
60 30 48 0 160 70 112 p
61 31 49 1 161 71 113 q
62 32 50 2 162 72 114 r
63 33 51 3 163 73 115 s
64 34 52 4 164 74 116 t
65 35 53 5 165 75 117 u
66 36 54 6 166 76 118 v
67 37 55 7 167 77 119 w
70 38 56 8 170 78 120 x
71 39 57 9 171 79 121 y
72 3a 58 : 172 7a 122 z
73 3b 59 ; 173 7b 123 {
74 3c 60 < 174 7c 124 |
75 3d 61 = 175 7d 125 }
76 3e 62 > 176 7e 126 ~
77 3f 63 ? 177 7f 127 del


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM