如何在C#中将unicode转换为单字节?
这不起作用:
int level =1;
string argument;
// and then argument is assigned
if (argument[2] == Convert.ToChar(level))
{
// does not work
}
而且:
char test1 = argument[2];
char test2 = Convert.ToChar(level);
产生时髦的结果。 test1
可以是: 49 '1'
,而test2
将是 1 ''
答案 0 :(得分:3)
如何在C#中将unicode转换为单字节?
这个问题毫无意义,示例代码只会让事情变得更糟。
Unicode是从字符到代码点的映射。代码点的编号从0x0到0x10FFFF,这远远超过可以存储在单个字节中的值。
示例代码包含int
,string
和char
。在任何地方都没有byte
。
你真的想做什么?
答案 1 :(得分:2)
UnicodeEncoding unicode = new UnicodeEncoding();
Byte[] encodedBytes = unicode.GetBytes(unicodeString);
答案 2 :(得分:1)
char
和string
在.NET中始终是Unicode。你无法按照自己的方式去做。
事实上,你想要完成什么?
答案 3 :(得分:1)
如果要测试int 级别是否与char 参数[2] 匹配,请使用
if (argument[2] == Convert.ToChar(level + (int)'0'))