XML中输入特殊符号
周银辉
特殊符号比如 ™, 要在xml中使用的话, 其实和html的转码是一样的, 参考下面这个表(使用十进制编码那一列)
特殊符号
|
命名实体
|
十进制编码
|
特殊符号
|
命名实体
|
十进制编码
|
Α
|
Α
|
Α
|
Β
|
Β
|
Β
|
Γ
|
Γ
|
Γ
|
Δ
|
Δ
|
Δ
|
Ε
|
Ε
|
Ε
|
Ζ
|
Ζ
|
Ζ
|
Η
|
Η
|
Η
|
Θ
|
Θ
|
Θ
|
Ι
|
Ι
|
Ι
|
Κ
|
Κ
|
Κ
|
Λ
|
Λ
|
Λ
|
Μ
|
Μ
|
Μ
|
Ν
|
Ν
|
Ν
|
Ξ
|
Ξ
|
Ξ
|
Ο
|
Ο
|
Ο
|
Π
|
Π
|
Π
|
Ρ
|
Ρ
|
Ρ
|
Σ
|
Σ
|
Σ
|
Τ
|
Τ
|
Τ
|
Υ
|
Υ
|
Υ
|
Φ
|
Φ
|
Φ
|
Χ
|
Χ
|
Χ
|
Ψ
|
Ψ
|
Ψ
|
Ω
|
Ω
|
Ω
|
α
|
α
|
α
|
β
|
β
|
β
|
γ
|
γ
|
γ
|
δ
|
δ
|
δ
|
ε
|
ε
|
ε
|
ζ
|
ζ
|
ζ
|
η
|
η
|
η
|
θ
|
θ
|
θ
|
ι
|
ι
|
ι
|
κ
|
κ
|
κ
|
λ
|
λ
|
λ
|
μ
|
μ
|
μ
|
ν
|
ν
|
ν
|
ξ
|
ξ
|
ξ
|
ο
|
ο
|
ο
|
π
|
π
|
π
|
ρ
|
ρ
|
ρ
|
ς
|
ς
|
ς
|
σ
|
σ
|
σ
|
τ
|
τ
|
τ
|
υ
|
υ
|
υ
|
φ
|
φ
|
φ
|
χ
|
χ
|
χ
|
ψ
|
ψ
|
ψ
|
ω
|
ω
|
ω
|
ϑ
|
ϑ
|
ϑ
|
ϒ
|
ϒ
|
ϒ
|
ϖ
|
ϖ
|
ϖ
|
•
|
•
|
•
|
…
|
…
|
…
|
′
|
′
|
′
|
″
|
″
|
″
|
‾
|
‾
|
‾
|
⁄
|
⁄
|
⁄
|
℘
|
℘
|
℘
|
ℑ
|
ℑ
|
ℑ
|
ℜ
|
ℜ
|
ℜ
|
™
|
™
|
™
|
ℵ
|
ℵ
|
ℵ
|
←
|
←
|
←
|
↑
|
↑
|
↑
|
→
|
→
|
→
|
↓
|
↓
|
↓
|
↔
|
↔
|
↔
|
↵
|
↵
|
↵
|
⇐
|
⇐
|
⇐
|
⇑
|
⇑
|
⇑
|
⇒
|
⇒
|
⇒
|
⇓
|
⇓
|
⇓
|
⇔
|
⇔
|
⇔
|
∀
|
∀
|
∀
|
∂
|
∂
|
∂
|
∃
|
∃
|
∃
|
∅
|
∅
|
∅
|
∇
|
∇
|
∇
|
∈
|
∈
|
∈
|
∉
|
∉
|
∉
|
∋
|
∋
|
∋
|
∏
|
∏
|
∏
|
∑
|
∑
|
−
|
−
|
−
|
−
|
∗
|
∗
|
∗
|
√
|
√
|
√
|
∝
|
∝
|
∝
|
∞
|
∞
|
∞
|
∠
|
∠
|
∠
|
∧
|
∧
|
⊥
|
∨
|
∨
|
⊦
|
∩
|
∩
|
∩
|
∪
|
∪
|
∪
|
∫
|
∫
|
∫
|
∴
|
∴
|
∴
|
∼
|
∼
|
∼
|
≅
|
≅
|
≅
|
≈
|
≈
|
≅
|
≠
|
≠
|
≠
|
≡
|
≡
|
≡
|
≤
|
≤
|
≤
|
≥
|
≥
|
≥
|
⊂
|
⊂
|
⊂
|
⊃
|
⊃
|
⊃
|
⊄
|
⊄
|
⊄
|
⊆
|
⊆
|
⊆
|
⊇
|
⊇
|
⊇
|
⊕
|
⊕
|
⊕
|
⊗
|
⊗
|
⊗
|
⊥
|
⊥
|
⊥
|
⋅
|
⋅
|
⋅
|
⌈
|
⌈
|
⌈
|
⌉
|
⌉
|
⌉
|
⌊
|
⌊
|
⌊
|
⌋
|
⌋
|
⌋
|
◊
|
◊
|
◊
|
♠
|
♠
|
|
♣
|
♣
|
♥
|
♥
|
||
♦
|
♦
|
|
|
 
|
|
¡
|
¡
|
¡
|
¢
|
¢
|
¢
|
£
|
£
|
£
|
¤
|
¤
|
¤
|
¥
|
¥
|
¥
|
¦
|
¦
|
¦
|
§
|
§
|
§
|
¨
|
¨
|
¨
|
©
|
©
|
©
|
ª
|
ª
|
ª
|
«
|
«
|
«
|
¬
|
¬
|
¬
|
|
­
|
­
|
®
|
®
|
®
|
¯
|
¯
|
¯
|
°
|
°
|
d°
|
±
|
±
|
±
|
²
|
²
|
²
|
³
|
³
|
³
|
´
|
´
|
´
|
µ
|
µ
|
µ
|
|
要在C#代码中直接使用的话, 可以直接 string str = "™"; 或者 string str="\u2122"; 其中的2122是其Unicode的16进制表示;
要得到十六进制表示,可以用如下代码:
Encoding encoder = Encoding.Unicode; Byte[] encodeBytes = encoder.GetBytes("™"); for (int i = 0; i < encodeBytes.Length; i += 2) { Console.WriteLine("\\u{0:x2}{1:x2}", encodeBytes[i + 1], encodeBytes[i]); }