今天在解析乙個中文的 xml時,始終報錯 pcdata invalid char value 21 in entity ,查詢了一下這個 21 的ascii 值,
發現是:
0001 0101
2115
nak␕
確認失敗回應
怎麼會有這樣奇怪的字元,我也搞不清楚。google 一下這個錯誤,發現很多**都報這樣的錯誤,就是沒有一篇文章
說明為什麼出錯了。折騰了半天,後來又看了libxml的源**,發現下面的字元要在字串裡面排除掉:
二進位制十進位制
十六進製制
縮寫可以顯示的表示法
名稱/意義
0000 0000000
nul␀
空字元(null)
0000 0001101
soh␁
標題開始
0000 0010202
stx␂
本文開始
0000 0011303
etx␃
本文結束
0000 0100404
eot␄
傳輸結束
0000 0101505
enq␅
請求0000 0110606
ack␆
確認回應
0000 0111707
bel␇
響鈴0000 1000808
bs␈退格0000 1011
110bvt␋
垂直定位符號
0000 1100
120cff␌
換頁鍵0000 1110
140eso␎
取消變換(shift out)
0000 1111
150fsi␏
啟用變換(shift in)
0001 0000
1610
dle␐
跳出資料通訊
0001 0001
1711
dc1␑
裝置控制一(xon 啟用軟體速度控制)
0001 0010
1812
dc2␒
裝置控制二
0001 0011
1913
dc3␓
裝置控制三(xoff 停用軟體速度控制)
0001 0100
2014
dc4␔
裝置控制四
0001 0101
2115
nak␕
確認失敗回應
0001 0110
2216
syn␖
同步用暫停
0001 0111
2317
etb␗
區塊傳輸結束
0001 1000
2418
can␘
取消0001 1001
2519em␙
連線介質中斷
0001 1010
261a
sub␚
替換0001 1011
271b
esc␛
跳出0001 1100
281cfs␜
檔案分割符
0001 1101
291dgs␝
組群分隔符
0001 1110
301ers␞
記錄分隔符
0001 1111
311fus␟
單元分隔符
0111 1111
1277f
del␡
刪除大多數都在 31 以前的幾個字元,注意,還有個字元 127 要去掉。去掉的方法我是用正則,用下面的正則就可以
去掉了:[\\x00-\\x08\\x0b-\\x0c\\0e-\\1f\\7f]。
希望對大家有用。
XML 解析中,如何排除控制字元
今天在解析乙個中文的 xml時,始終報錯 pcdata invalid char value 21 in entity 查詢了一下這個 21 的ascii 值,發現是 0001 0101 2115 nak 確認失敗回應 說明為什麼出錯了。折騰了半天,後來又看了libxml的源 發現下面的字元要在字串...
字元中包含不顯示的控制字元
碰到乙個unicode字符集的問題,記錄一下 拷貝了乙個手機號直接貼上到平台 儲存,結果傳送簡訊時該手機號接收不到,網上查了才知道原來拷貝到手機號包含了不顯示unicode字元 u202d 一般用到unicode 控制字元有 1 rlo code u202e html 開始從右到左的文字 2 lro...
js中如何控制字串開頭以特定字元開頭
js中如何控制字串開頭以特定字元開頭 1 最好用正則.var pattern abcd.這句話的意思是.必須以 adcd 字串開始,後面無論什麼字元.if pattern test teststr 為true就是成功 else 2 採用substring function get xx else 例...