本文整理汇总了C#中System.Xml.XmlTextReader.ReadBinHex方法的典型用法代码示例。如果您正苦于以下问题:C# System.Xml.XmlTextReader.ReadBinHex方法的具体用法?C# System.Xml.XmlTextReader.ReadBinHex怎么用?C# System.Xml.XmlTextReader.ReadBinHex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.XmlTextReader
的用法示例。
在下文中一共展示了System.Xml.XmlTextReader.ReadBinHex方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetBytes
/// <summary>
/// Creates a byte array from the hexadecimal string. Each two characters are combined
/// to create one byte. First two hexadecimal characters become first byte in returned array.
/// Non-hexadecimal characters are ignored.
/// </summary>
/// <param name="hexString">string to convert to byte array</param>
/// <param name="discarded">number of characters in string ignored</param>
/// <returns>byte array, in the same left-to-right order as the hexString</returns>
public static byte[] GetBytes(string hexString, out int discarded)
{
discarded = 0;
// XML Reader/Writer is highly optimized for BinHex conversions
// use instead of byte/character replacement for performance on
// arrays larger than a few dozen elements
hexString = "<node>" + hexString + "</node>";
System.Xml.XmlTextReader tr = new System.Xml.XmlTextReader(
hexString,
System.Xml.XmlNodeType.Element,
null);
tr.Read();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
int bufLen = 1024;
int cap = 0;
byte[] buf = new byte[bufLen];
do
{
cap = tr.ReadBinHex(buf, 0, bufLen);
ms.Write(buf, 0, cap);
} while (cap == bufLen);
return ms.ToArray();
}