如何在C#中获取unicode字符的完整字节?

如何在C#中获取unicode字符的完整字节?,c#,unicode,character,C#,Unicode,Character,对于大于的符号,我需要获得完整的字节,我理解为\u003E。现在C#只给我3E。有没有办法得到所有的角色?i、 e.\u003E 我正在使用以下代码行 Encoding.UTF8.GetBytes(">"); 在文本文件中,我有以下内容 \u003c 我需要在字节级别向下搜索 谢谢 您得到的答案是正确的-3E是U+003E的十六进制表示形式 如果需要unicode字节(即2字节数组),只需使用以下编码: Encoding.Unicode.GetBytes(">"); 您得

对于大于
的符号,我需要获得完整的字节,我理解为
\u003E
。现在C#只给我
3E
。有没有办法得到所有的角色?i、 e.
\u003E

我正在使用以下代码行

Encoding.UTF8.GetBytes(">");   
在文本文件中,我有以下内容

\u003c
我需要在字节级别向下搜索


谢谢

您得到的答案是正确的-
3E
U+003E
的十六进制表示形式

如果需要unicode字节(即2字节数组),只需使用以下编码:

Encoding.Unicode.GetBytes(">");

您得到的答案是正确的-
3E
U+003E
的十六进制表示形式

如果需要unicode字节(即2字节数组),只需使用以下编码:

Encoding.Unicode.GetBytes(">");
在UTF-8中,(ASCII范围)字符
编码为1字节

如果需要字符串
“003E”
,可以使用:

  Encoding.Utf8.GetBytes(">")[0].ToString("X4");
也许在前面加上“\u”

如果需要包含{0x00,0x3E}的2字节数组,请使用

  Encoding.Unicode.GetBytes(">");
在UTF-8中,(ASCII范围)字符
编码为1字节

如果需要字符串
“003E”
,可以使用:

  Encoding.Utf8.GetBytes(">")[0].ToString("X4");
也许在前面加上“\u”

如果需要包含{0x00,0x3E}的2字节数组,请使用

  Encoding.Unicode.GetBytes(">");

组成
的字节因编码不同而不同-在UTF8中它实际上只是
0x3e
,在Unicode中它是
0x00 0x3e
,因此您需要

Encoding.XXXX.GetBytes(">");

XXXX是您选择的编码,例如
UTF8
Unicode

组成字节的
不同于编码-在UTF8中它实际上只是
0x3e
,在Unicode中它是
0x00 0x3e
,因此您需要

Encoding.XXXX.GetBytes(">");

XXXX是您选择的编码,例如
UTF8
Unicode
几年前,我写了一篇相当长的文章,更详细地说了以下内容,但是:

是一个字符。这是一个纯粹的概念性项目,我们认为它有一个或多个意义、用途和写作方式,取决于不同的语言和文本语境。这是一个抽象的概念,而不是我们可以在计算机中使用的任何东西

U+003E
(在C中表示为
\u003E
)是一个代码点。这是一种给字符赋值的方法,但它仍然是一种相当抽象的东西。数字
0x3E
(62)仍然是一个抽象概念,而不是我们可以在计算机中使用的东西

00111110
0000000000 11111 0
001111100000000
00000000000000000000 11111 0
0011111000000000000000000
都是常用于以实际1和0表示代码点的不同方式,计算机可以通过电荷脉冲来表示

在这两者之间,作为程序员,我们倾向于将这三者视为
0x3E
0x003E
0x000000003E
,它们是映射到我们实际使用的数据类型的数字。
0000000000 11111 0
001111100000000
之间的区别在于终结性,而在这一点上,我们并不认为已经(如有必要)想到了“必须确保终结性是正确的”,因为“如有必要”往往发生在一个根本不考虑角色的层次上

事实上,作为程序员,我们往往认为它主要是我们开始使用的
。抽象是伟大的

使用UTF-8的代码使用的是将字符转换为字节的不同方法之一,即将U+003E转换为0x3E的方法。还有其他的,尽管UTF-8是最适合大多数交换的。因此,它是“用于'>'的完整字节”的正确答案之一。字节0x00后跟0x3E和字节0x3E后跟0x00将是另外两个正确答案,这两种形式的UTF-16具有不同的端度。字节序列0x00、0x00、0x00、0x3E和0x3E、0x00、0x00、0x00都是正确的UTF-32


如果您有理由想要其中一个,请使用适当的编码。如果有疑问,请使用UTF-8。几年前我写了一篇相当长的文章,其中更详细地说明了以下内容,但是:

是一个字符。这是一个纯粹的概念性项目,我们认为它有一个或多个意义、用途和写作方式,取决于不同的语言和文本语境。这是一个抽象的概念,而不是我们可以在计算机中使用的任何东西

U+003E
(在C中表示为
\u003E
)是一个代码点。这是一种给字符赋值的方法,但它仍然是一种相当抽象的东西。数字
0x3E
(62)仍然是一个抽象概念,而不是我们可以在计算机中使用的东西

00111110
0000000000 11111 0
001111100000000
00000000000000000000 11111 0
0011111000000000000000000
都是常用于以实际1和0表示代码点的不同方式,计算机可以通过电荷脉冲来表示

在这两者之间,作为程序员,我们倾向于将这三者视为
0x3E
0x003E
0x000000003E
,它们是映射到我们实际使用的数据类型的数字。
0000000000 11111 0
001111100000000
之间的区别在于终结性,而在这一点上,我们并不认为已经(如有必要)想到了“必须确保终结性是正确的”,因为“如有必要”往往发生在一个根本不考虑角色的层次上

事实上,作为程序员,我们往往认为它主要是我们开始使用的
。抽象是伟大的

使用UTF-8的代码正在使用