38 lines
912 B
C#
38 lines
912 B
C#
namespace JD.Serializers.Xml
|
|
{
|
|
internal static class XmlWhiteSpaceEncoder
|
|
{
|
|
#region Constants
|
|
|
|
private const string EncodingEscapeCharacter = "__";
|
|
|
|
#endregion
|
|
|
|
#region Methods
|
|
|
|
public static string Encode(char c)
|
|
{
|
|
return EncodingEscapeCharacter + (uint)c;
|
|
}
|
|
|
|
public static bool TryParse(string encoded, out char c)
|
|
{
|
|
if (encoded.StartsWith(EncodingEscapeCharacter))
|
|
{
|
|
string whiteSpaceNumber = encoded.Substring(EncodingEscapeCharacter.Length);
|
|
|
|
uint whiteSpaceId;
|
|
if (uint.TryParse(whiteSpaceNumber, out whiteSpaceId))
|
|
{
|
|
c = (char)whiteSpaceId;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
c = default(char);
|
|
return false;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|