HTML特殊字符编码

时间:2022-11-02 20:11:34
HTML特殊字符编码   在分析HTML字节流或者源代码的时候,需要对HTML特殊字符编码以及ASCII的知识有所了解,才能避免跌入陷阱。一些所列举的都是HTML的一些规范,和ASCII码的官方定义表。放到这里查看方便。   一、一些很重要的规范   下面这个图片是常用HTML中一些特殊字符的ASCII编码或者表示方式。有些字符并没有对应的ASCII码。   HTML特殊字符编码     常见字符的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主页上也能看到,这里我给个中文版页面地址: http://www.w3school.com.cn/tags/html_ref_ascii.asp   二、从数字角度认识ASCII码   其实本人对ASCII的认识也很有限,只知道是美国定义的标准,有128(2的七次方,长度是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�C126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。数字 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�C32 显示在下图中),又增加了 128 个字符,总共是 256 个。即使有了这些更多的字符,许多语言还是包含无法压缩到 256 个字符中的符号。因此,出现了一些 ASCII 的变体来囊括地区性字符和符号。

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

扩展的 ASCII 打印字符表

十进制 字符  十进制  字符
128     Ç      192    └
129     ü      193    ┴
130     é      194    ┬
131     â      195    ├
132     ä      196    ─
133     à      197    ┼
134     å      198    �b
135     ç      199    �c
136     ê      200    �^
137     ë      201    �X
138     è      202    �m
139     ï      203    �j
140     î      204    �d
141     ì      205    �T
142     Ä      206    �p
143     Å      207    �k
144     É      208    �l
145     æ      209    �h
146     Æ      210    �i
147     ô      211    �]
148     ö      212    Ô
149     ò      213    �V
150     û      214    �W
151     ù      215    �o
152     ÿ      216    �n
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     �e     245    ⌡
182     �f     246    ÷
183     �Z     247    ≈
184     �Y     248    ≈
185     �g     249    ∙
186     �U     250    ・
187     �[     251    √
188     �a     252    ⁿ
189     �`     253    ²
190     �_     254    ■
191     ┐     255      


ASCII 非打印控制字符

ASCII 表上的数字 0�C31 分配给了控制字符,用于控制像打印机等一些外围设备。例如,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 (Unicode:Unicode Consortium 开发的一种字符编码标准。该标准采用多(于一)个字节代表每一字符,实现了使用单个字符集代表世界上几乎所有书面语言。)。 因为 Unicode 表大得多,它可以表示 65,536 个字符,而 ASCII 表只能表示 128 个字符,扩展的 ASCII 表也只能表示 256 个字符。这一更大的容量使不同语言的大多数字符都能包含在同一个字符集中。