XML中输入特殊符号

时间:2023-03-09 18:25:34
XML中输入特殊符号

                        XML中输入特殊符号

                           周银辉

特殊符号比如 ™, 要在xml中使用的话, 其实和html的转码是一样的, 参考下面这个表(使用十进制编码那一列)

特殊符号
命名实体
十进制编码
特殊符号
命名实体
十进制编码
Α
Α
Α
Β
Β
Β
Γ
Γ
Γ
Δ
Δ
Δ
Ε
Ε
Ε
Ζ
Ζ
Ζ
Η
Η
Η
Θ
Θ
Θ
Ι
Ι
Ι
Κ
Κ
Κ
Λ
Λ
Λ
Μ
Μ
Μ
Ν
Ν
Ν
Ξ
Ξ
Ξ
Ο
Ο
Ο
Π
Π
Π
Ρ
Ρ
Ρ
Σ
Σ
Σ
Τ
Τ
Τ
Υ
Υ
Υ
Φ
Φ
Φ
Χ
Χ
Χ
Ψ
Ψ
Ψ
Ω
Ω
Ω
α
α
α
β
β
β
γ
γ
γ
δ
δ
δ
ε
ε
ε
ζ
ζ
ζ
η
η
η
θ
θ
θ
ι
ι
ι
κ
κ
κ
λ
λ
λ
μ
μ
μ
ν
ν
ν
ξ
ξ
ξ
ο
ο
ο
π
π
π
ρ
ρ
ρ
ς
ς
ς
σ
σ
σ
τ
τ
τ
υ
υ
υ
φ
φ
φ
χ
χ
χ
ψ
ψ
ψ
ω
ω
ω
ϑ
ϑ
ϑ
ϒ
ϒ
ϒ
ϖ
ϖ
ϖ
•
…
′
″
‾
⁄
℘
ℑ
ℜ
™
ℵ
←
↑
→
↓
↔
↵
⇐
⇑
⇒
⇓
⇔
∀
∂
∃
∅
∇
∈
∉
∋
∏
∑
−
∗
√
∝
∞
∠
∧
∨
∩
∪
∫
∴
∼
≅
≈
≠
≡
≤
≥
⊂
⊃
⊄
⊆
⊇
⊕
⊗
⊥
⋅
⌈
⌉
⌊
⌋
◊
♠
♣
♥
♦
 
¡
¡
¡
¢
¢
¢
£
£
£
¤
¤
¤
¥
¥
¥
¦
¦
¦
§
§
§
¨
¨
¨
©
©
©
ª
ª
ª
«
«
«
¬
¬
¬
­
­
®
®
®
¯
¯
¯
°
°
±
±
±
²
²
²
³
³
³
´
´
´
µ
µ
µ
   

要在C#代码中直接使用的话, 可以直接 string str = "™"; 或者 string str="\u2122"; 其中的2122是其Unicode的16进制表示;

要得到十六进制表示,可以用如下代码:

            Encoding encoder = Encoding.Unicode;
Byte[] encodeBytes = encoder.GetBytes("™");
for (int i = ; i < encodeBytes.Length; i += )
{
Console.WriteLine("\\u{0:x2}{1:x2}", encodeBytes[i + ], encodeBytes[i]);
}