Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 编码为单字节扩展ascii值_C#_Unicode_Encoding_Character Encoding_Ascii - Fatal编程技术网

C# 编码为单字节扩展ascii值

C# 编码为单字节扩展ascii值,c#,unicode,encoding,character-encoding,ascii,C#,Unicode,Encoding,Character Encoding,Ascii,在C#中,是否有办法将扩展ascii值(128-255)编码为单字节值,如下所示: 我尝试过使用Encoding.UTF8.GetBytes(),但它会为扩展代码返回多字节值。我不需要超过255的任何东西,但至少支持这些会很好。我试图将文本数据发送到Arduino运行的LED矩阵,并希望处理重音字母,而不必处理多字节字符 编辑:为了澄清,LED矩阵没有特定的代码页。基本上就是我说的。它或arduino中没有内置的文本支持。这只是一个128x8像素的哑显示器,控制器正在逐像素手动绘制文本。因此,我

在C#中,是否有办法将扩展ascii值(128-255)编码为单字节值,如下所示:

我尝试过使用Encoding.UTF8.GetBytes(),但它会为扩展代码返回多字节值。我不需要超过255的任何东西,但至少支持这些会很好。我试图将文本数据发送到Arduino运行的LED矩阵,并希望处理重音字母,而不必处理多字节字符


编辑:为了澄清,LED矩阵没有特定的代码页。基本上就是我说的。它或arduino中没有内置的文本支持。这只是一个128x8像素的哑显示器,控制器正在逐像素手动绘制文本。因此,我实际上提供了一种字体(作为头文件中的字节数组),可以使任何字符代码对应于我想要的任何输出。。。所以,使用哪一个代码页并不是一个真正的问题,除了哪一个可以给我完整的8位字符

默认的
编码应该可以处理这个问题。或者使用ANSI代码页/编码。

您需要知道LED矩阵使用的代码页。它一定是一个标准的,比如1252,西欧和美洲的Windows代码页

        var bytes = Encoding.GetEncoding(1252).GetBytes("Åãrdvárk");

只需将代码页码传递给
编码
构造函数即可。如果您链接的是正确的“扩展ASCII”表,则是


但IBM437编码在DOS程序和Windows控制台应用程序之外并不常见。否则,西欧语言的标准编码是(Windows代码第28591页)或。

是的。。。我的unix时间戳工作正常。。。只是手动创建了字节数组,而在我构建字符串之前,它通过编码得到了mash.ASCII.GetBytes()。。。因此,现在我只需要使用扩展ASCII将文本发送到显示器上,而不是像时间戳这样的原始数据。虽然这可能会起作用,但使用特定的编码会更可靠,因为程序正在与外部设备通信。ISO-8859-1、windows-1252或CP437都不是单字节(8位)扩展ASCII编码,但ASCII扩展不兼容。不幸的是,不存在单字节扩展ASCII编码,但存在许多专有的改编。看见