从字符串转换为字节奇怪的行为

AMH*_*AMH 3 c# encoding bytearray

我有这样的字符串"0100110011001"我想将它转换为字节数组,使得数组包含零和一个问题,转换后数组包含49,48我不是为什么我尝试了很多编码,例如我使用的下面的代码,并更改了编码类型

 System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
            byte result = encoding.GetBytes(str);
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会发生,以及如何实现我想要的输出

Jon*_*eet 8

您要求使用UTF-8编码字符'0'和'1'的文本.在UTF-8中,'0'由字节48表示,'1'由字节49表示.(非ASCII字符由多个字节表示.)

听起来你真的想要一个二进制解析器 - 你可以使用Convert.ToByte(text, 2)单个字节,但我不确定框架中有什么东西可以将任意长度的字符串转换为字节数组,方法是将其解析为二进制.我确信网上有很多第三方例程可以做到这一点 - 这并不难.

这是非常有什么-为什么你的原始代码没有工作,虽然很重要,你知道Encoding.GetBytes真的了.