HTML特殊字符编码

简介:
HTML特殊字符编码
 
在分析HTML字节流或者源代码的时候需要对HTML特殊字符编码以及ASCII的知识有所了解才能避免跌入陷阱。一些所列举的都是HTML的一些规范和ASCII码的官方定义表。放到这里查看方便。
 
一、一些很重要的规范
 
下面这个图片是常用 HTML中一些特殊字符的ASCII编码或者表示方式。有些字符并没有对应的ASCII码。
 
 
 
常见字符的ASCII码对照表
ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘
27 ESC 32 SPACE 33 ! 34 "
35 # 36 $ 37 % 38 &
39 ' 40 ( 41 ) 42 *
43 + 44 ' 45 - 46 .
47 / 48 0 49 1 50 2
51 3 52 4 53 5 54 6
55 7 56 8 57 9 58 :
59 ; 60 < 61 = 62 >
63 ? 64 @ 65 A 66 B
67 C 68 D 69 E 70 F
71 G 72 H 73 I 74 J
75 K 76 L 77 M 78 N
79 O 80 P 81 Q 82 R
83 S 84 T 85 U 86 V
87 W 88 X 89 Y 90 Z
91 [ 92 \ 93 ] 94 ^
95 _ 96 ` 97 a 98 b
99 c 100 d 101 e 102 f
103 g 104 h 105 i 106 j
107 k 108 l 109 m 110 n
111 o 112 p 113 q 114 r
115 s 116 t 117 u 118 v
119 w 120 x 121 y 122 z
123 { 124 | 125 } 126 ~
 
 
以上图表来自互联网在w3c主页上也能看到这里我给个中文版页面地址
 
二、从数字角度认识ASCII码
 
其实本人对ASCII的认识也很有限只知道是美国定义的标准有1282的七次方长度是8bit一个字节个码。对应数字为0~127下面通过一个Java小程序来看看ACSII码的秘密。
 
         public  static  void main(String[] args) { 
                 for( int i=0;i<128;i++){ 
                        System.out.println(i+ "\t"+( char)i); 
                } 
        }
 
输出结果
... ...
33 ! 
34 " 
35 # 
36 $ 
37 % 
38 & 
39 ' 
40 ( 
41 ) 
42 * 
43 + 
44 , 
45 - 
46 . 
47 / 
48 0 
49 1 
50 2 
51 3 
52 4 
53 5 
54 6 
55 7 
56 8 
57 9 
58 : 
59 ; 
60 < 
61 = 
62 > 
63 ? 
64 @ 
65 A 
66 B 
67 C 
68 D 
69 E 
70 F 
71 G 
72 H 
73 I 
74 J 
75 K 
76 L 
77 M 
78 N 
79 O 
80 P 
81 Q 
82 R 
83 S 
84 T 
85 U 
86 V 
87 W 
88 X 
89 Y 
90 Z 
91 [ 
92 \ 
93 ] 
94 ^ 
95 _ 
96 ` 
97 a 
98 b 
99 c 
100 d 
101 e 
102 f 
103 g 
104 h 
105 i 
106 j 
107 k 
108 l 
109 m 
110 n 
111 o 
112 p 
113 q 
114 r 
115 s 
116 t 
117 u 
118 v 
119 w 
120 x 
121 y 
122 z 
123 { 
124 | 
125 } 
126 ~ 
127
很奇怪的是前面32个输出行我复制不上复制出来总是一个0这个问题想过没可以思考下。
 
三、深入认识ASCII码
对于上面问题的解释只有深入了解了ASCII码才知道为什么了。下面这段文字来自互联网。
 
数字代表计算机的语言。您的计算机如何使用字母来与程序和其他计算机进行通信一种方法是把字符集 字符集一组共享一些关系的字母、数字和其他字符。例如标准 ASCII 字符集包括字母、数字、符号和组成 ASCII 代码方案的控制代码。转换为数字形式。

在 20 世纪 60 年代标准化的需要带来了美国标准信息交换码 (ASCII) ASCII将英语中的字符表示为数字的代码。为每个字符分配一个介于 0 到 127 之间的数字。大多数计算机都使用 ASCII 表示文本和在计算机之间传输数据。发音为 ask-kee。ASCII 表包含 128 个数字分配给了相应的字符 字符字母、数字、标点或符号。。ASCII 为计算机提供了一种存储数据和与其他计算机及程序交换数据的方式。

ASCII 格式的文本不包含像黑体、斜体或字体等格式信息。当您使用 Microsoft 记事本或把文件作为纯文本保存在 Microsoft Office Word 中时就会使用 ASCII。您可能读到过招聘广告公司要求提供 ASCII 格式的简历。这意味着无论您是用电子邮件、传真或打印文本发送简历公司希望您的简历中不含任何特殊格式。大公司可能用光学字符识别 (OCR) OCR将文本图像如扫描的文档转换为实际的文本字符。也称为文本识别。 扫描软件来扫描简历和 ASCII 格式的文本。

在文档中插入 ASCII 字符

注释  该功能需要 Excel、FrontPage、InfoPath、OneNote、Outlook、PowerPoint、Project、Publisher、Word 或 Visio。

除了在键盘上键入字符外您也可以使用该符号的字符代码作为键盘快捷键。例如要插入度数符号在按住 ALT 的同时在数字键盘上键入 0176。

要从下面的图表中插入 ASCII 字符在按住 ALT 的同时键入等价的十进制数字。例如要插入度数符号在按住 ALT 的同时在数字键盘上键入 0176。

注释  必须使用数字键盘来键入数字而不是键盘。如果您的键盘需要打开 Num Lock 键才能在数字键盘上键入数字请务必打开它。

ASCII 打印字符

数字 32–126 分配给了能在键盘上找到的字符当您查看或打印文档时就会出现。数字 127 代表 Delete 命令。

十进制  字符  十进制 字符 
32     space    80    P 
33     !        81    Q 
34     "        82    R 
35     #        83    S 
36     $        84    T 
37     %        85    U 
38     &        86    V 
39     '        87    w 
40     (        88    X 
41     )        89    Y 
42     *        90    Z 
43     +        91    [ 
44     ,        92    \ 
45     -        93    ] 
46     .        94    ^ 
47     /        95    _ 
48     0        96    ` 
49     1        97    a 
50     2        98    b 
51     3        99    c 
52     4        100   d 
53     5        101   e 
54     6        102   f 
55     7        103   g  
56     8        104   h 
57     9        105   i 
58     :        106   j 
59     ;        107   k 
60     <        108   l 
61     =        109   m 
62     >        110   n 
63     ?        111   o 
64     @        112   p 
65     A        113   q 
66     B        114   r 
67     C        115   s 
68     D        116   t 
69     E        117   u 
70     F        118   v 
71     G        119   w 
72     H        120   x 
73     I        121   y 
74     J        122   z 
75     K        123   { 
76     L        124   | 
77     M        125   } 
78     N        126   ~ 
79     O        127   DEL 



扩展 ASCII 打印字符扩展的 ASCII 字符满足了对更多字符的需求。扩展的 ASCII 包含 ASCII 中已有的 128 个字符数字 0–32 显示在下图中又增加了 128 个字符总共是 256 个。即使有了这些更多的字符许多语言还是包含无法压缩到 256 个字符中的符号。因此出现了一些 ASCII 的变体来囊括地区性字符和符号。

例如许多软件程序把 ASCII 表又称作 ISO 8859-1用于北美、西欧、澳大利亚和非洲的语言。

扩展的 ASCII 打印字符表

十进制 字符  十进制  字符 
128     Ç      192    └ 
129     ü      193    ┴ 
130     é      194    ┬ 
131     â      195    ├ 
132     ä      196    ─ 
133     à      197    ┼ 
134     å      198    ╞ 
135     ç      199    ╟ 
136     ê      200    ╚ 
137     ë      201    ╔ 
138     è      202    ╩ 
139     ï      203    ╦ 
140     î      204    ╠ 
141     ì      205    ═ 
142     Ä      206    ╬ 
143     Å      207    ╧ 
144     É      208    ╨ 
145     æ      209    ╤ 
146     Æ      210    ╥ 
147     ô      211    ╙ 
148     ö      212    Ô 
149     ò      213    ╒ 
150     û      214    ╓ 
151     ù      215    ╫ 
152     ÿ      216    ╪ 
153     Ö      217    ┘ 
154     Ü      218    ┌ 
155     ¢      219    █ 
156     £      220    ▄ 
157     ¥      221    ▌ 
158     ₧      222    ▐ 
159     ƒ      223    ▀ 
160     á      224    α 
161     í      225    ß 
162     ó      226    Γ 
163     ú      227    π 
164     ñ      228    Σ 
165     Ñ      229    σ 
166     ª      230    µ 
167     º      231    τ 
168     ¿      232    Φ 
169     ⌐      233    Θ 
170     ¬      234    Ω 
171     ½      235    δ 
172     ¼      236    ∞ 
173     ¡      237    φ 
174     «      238    ε 
175     »      239    ∩ 
176     ░      240    ≡ 
177     ▒      241    ± 
178     ▓     242    ≥ 
179     │     243    ≤ 
180     ┤     244    ⌠ 
181     ╡     245    ⌡ 
182     ╢     246    ÷ 
183     ╖     247    ≈ 
184     ╕     248    ≈ 
185     ╣     249    ∙ 
186     ║     250    · 
187     ╗     251    √ 
188     ╝     252    ⁿ 
189     ╜     253    ² 
190     ╛     254    ■ 
191     ┐     255      


ASCII 非打印控制字符

ASCII 表上的数字 0–31 分配给了控制字符用于控制像打印机等一些外围设备。例如12 代表换页/新页功能。此命令指示打印机跳到下一页的开头。

十进制   字符        十进制      字符 
0        空            16        数据链路转意 
1        头标开始      17        设备控制 1 
2        正文开始      18        设备控制 2 
3        正文结束      19        设备控制 3 
4        传输结束      20        设备控制 4 
5        查询          21        反确认 
6        确认          22        同步空闲 
7        震铃          23        传输块结束 
8        backspace     24        取消 
9        水平制表符    25        媒体结束 
10       换行/新行     26        替换 
11       竖直制表符    27        转意 
12       换页/新页     28        文件分隔符 
13       回车          29        组分隔符 
14       移出          30        记录分隔符 
15       移入          31        单元分隔符 


ASCII 之外

另一个更新的字符表称为 Unicode UnicodeUnicode Consortium 开发的一种字符编码标准。该标准采用多于一个字节代表每一字符实现了使用单个字符集代表世界上几乎所有书面语言。。 因为 Unicode 表大得多它可以表示 65,536 个字符而 ASCII 表只能表示 128 个字符扩展的 ASCII 表也只能表示 256 个字符。这一更大的容量使不同语言的大多数字符都能包含在同一个字符集中。
 


本文转自 leizhimin 51CTO博客原文链接http://blog.51cto.com/lavasoft/178269如需转载请自行联系原作者
相关文章
|
2月前
|
前端开发 JavaScript 安全
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
75 0
|
6月前
HTML中的特殊字符
HTML中的特殊字符
31 0
|
6月前
|
前端开发 JavaScript Java
HTML的笔记和案列以及常用特殊字符
HTML的笔记和案列以及常用特殊字符
54 0
04 # HTML 字符编码
04 # HTML 字符编码
64 0
|
XML JSON JavaScript
HTML特殊字符转义
HTML特殊字符转义
99 0
|
JSON 数据格式
从富文本编辑器获取html内容组装json,特殊字符引起报错解决办法。
从富文本编辑器获取html内容组装json,特殊字符引起报错解决办法。
351 0
|
开发者
HTML标签 -特殊字符|学习笔记
快速学习HTML标签 -特殊字符
HTML标签 -特殊字符|学习笔记
在div标签中显示特殊字符(包括html标签)
在div标签中显示特殊字符(包括html标签)
|
开发者
HTML标签 -特殊字符|学习笔记
快速学习HTML标签 -特殊字符
HTML标签 -特殊字符|学习笔记

相关产品

  • 云迁移中心