C#string到byte[]的变换

C#string到byte[]的转换
是这样的,我在写一个C#的客户端,要往C++的服务器端发消息,发过来的消息我封装成了字节流byte[],而c++那边接收的话就是个char *
C++把string转char *可以直接进行地址类型转换
reinterpret_cast<uint8 *>(&value)
但C#我发现似乎没法把这玩意直接强转啊,一定要把字符串编码以后转成byte[],我尝试使用了下ASCII码,
Byte[] bytes = System.Text.Encoding.ASCII.GetBytes(value); 
结果到服务器那边接收到的全都是乱七八糟的
C#有办法直接把string转成byte[]不进行编码吗?我这边不关心究竟是什么编码方式,只管把string转成byte[]就行
------解决思路----------------------
最好不用char
你以太网发送的是byte,char跟byte又不一样,char强制转byte会损失精度
------解决思路----------------------
如果你是纯英文+数字,char基本可以看成跟byte是一样的
char是16位,byte8位,英文+数字转char是按ASCII转的,之后后8位有值,前8位是0

而如果字符串里有汉字,你这样转就完全不靠谱了
你需要使用unicode,gb2312,utf8等支持汉字的转码方式