C# 函数string.Substring为什么/如何处理\u0002“;作为一个标志?C中的Unicode字符#
函数string.Substring为什么/如何将“\u0002”视为一个符号? 我是说ok,“\u0002”是一个“字符”STXC# 函数string.Substring为什么/如何处理\u0002“;作为一个标志?C中的Unicode字符#,c#,unicode,char,C#,Unicode,Char,函数string.Substring为什么/如何将“\u0002”视为一个符号? 我是说ok,“\u0002”是一个“字符”STX \u说这是unicode C#中的字符和字符串处理使用Unicode编码。char类型表示一个UTF-16代码单元,string类型表示一系列UTF-16代码单元 代码检查preffix后缀是否正确。数据长度并不重要。 前缀是STX,后缀是ETX添加的do数据字符串。 毫无疑问,如何明确地做到这一点(下面的代码) string stx = "\u0
string stx = "\u0002";
string etx = "\u0003";
string ReceivedData= stx + "1122334455" + etx;
string prefix = ReceivedData.Substring(0, 1);
string suffix = ReceivedData.Substring(ReceivedData.Length - 1, 1);
你想知道UTF-16和Unicode的工作机制吗?希望本主题有助于: 代码段看起来很合理,因为变量是显式命名的,“\u”是Unicode的标志
string stx = "\u0002";
string etx = "\u0003";
string prefix = ReceivedData.Substring(0, 1);
string suffix = ReceivedData.Substring(ReceivedData.Length - 1, 1);
我不确定我是否理解这个问题。什么是“一个标志”?它不是解释为字符
1
,而是解释为。您的字符串是␂1122334455␃代码>结尾(此处不可见的控制字符替换为可见的等效表示)-一个STX字符,后跟10个字符1122334455
,后跟一个ETX字符,总共12个字符。啊,我看到你编辑了你的问题\u0002
只是单个STX字符的表示,就像\u0041
是字符a
的另一种表示,或者\n
是换行符␊代码>(也可以编写为\u000a
)。在内存中,它不是字面上的\
u
0
0
0
2
,它只是一个字符␂代码>。如果要查找引用,\u
是一个转义序列。请参阅。因此,通过将\u添加到字符串中,我指出编译器应该在\u之后解释/查找unicode中的字符?差不多吧:)谢谢