C#字符串ASCII表示
时间:2020-03-06 14:25:00 来源:igfitidea点击:
如何在字符串中插入ASCII特殊字符(例如ASCII值0x01)?
我问是因为我正在使用以下内容:
str.Replace( "<TAG1>", Convert.ToChar(0x01).ToString() );
我觉得必须有比这更好的方法。有任何想法吗?
更新:
另外,如果我使用这种方法,是否需要担心unicode和ASCII冲突?
解决方案
我相信我们可以使用\ uXXXX在字符串中插入指定的代码。
ETA:我刚刚对其进行了测试,并且可以正常工作。 :-)
using System; class Uxxxx { public static void Main() { Console.WriteLine("\u20AC"); } }
Also If I use this methodology, do I need to worry about unicode & ASCII clashing?
第一个问题将是标签与ASCII冲突。到达TAG10后,我们将与0x0A:换行发生冲突。如果我们确保我们获得的标签永远不会超过9个,那么我们应该是安全的。当字节值介于0和127之间时,Unicode编码(或者更确切地说:UTF8)与ASCII编码相同。仅当设置了最高位时,它们才不同。
and I feel that there must be a better way than this. Any Ideas?
似乎我们正在尝试使用文本工具来操作二进制块。例如,如果要插入字节" 0x01",则不再需要处理文本,因为我们不在乎该字节可能代表什么,而且看起来甚至都不在乎哪种编码。正在输出。
更好的方法是将要处理的内容视为二进制数据块,这样就可以轻松插入位和字节,而无需使用脆弱的变通办法并且不必担心副作用。