2012-05-24 22 views
2


我從設備讀取一些數據。然後我通過xml將這些數據發送到Web服務器。數據應該用xml表示,所以這使得我可以在0-31之間轉換字符,因爲這些字符不能在xml上顯示。
問題是我該如何轉換字符串0到31之間的十進制字符,如[00]abcde[01]fgh[02]...
.net框架中是否有任何內置函數或任何可接受的模式?
感謝自定義編碼0到31之間的ASCII字符在C#

回答

6

必須使用標準XML編碼:

 

你的XML API會爲你做的,所以你不必擔心什麼。

+0

也就是說right.i使用XmlSerializer的編碼/解碼XML。我已經快速測試過它,並且我看到XmlSerializer完成了這項工作。它會自動將這些字符轉換爲標準的XML實體。謝謝。 – Fer

2

您可以將數簡單地編碼爲你寫&#其次號和分號

所以1變成和13成爲
等等等等XML實體

然而,由於所指出dan04您不能將0表示爲數字字符引用,因此在數據可能包含0的情況下,您將不得不使用不同的編碼。你可以編碼整個二進制數據爲base64

大多數XML工具箱會做編碼NCR的你也這樣想你真的應該不必擔心

+1

您需要用';' –

+0

結束這些代碼謝謝。那是對的。看到我對@SLaks答案的評論。 – Fer

+0

XML文件中不能有U + 0000,即使是數字字符引用。 – dan04

相關問題