你好我使用一种消息解析形式,我将字段写入缓冲流,然后提取一个字节数组重复该流
MyMessage _message = new MyMessage("me","you",MessageType.peer_message,4252422) ;
// in the constructor String sender,String receiver,MessageType(enumaraition) m_type,Int32 id
byte [] buffer = myEncoder.encode(message) ;
现在,当我将它传递给myDecoder时,它会在同一个metter中对其进行解码,效果很好! 我怎么做不是问题
我的问题是,在一些misscommunicaition的情况下,我需要存储byte []数组(缓冲区)以供进一步使用,我正在尝试在标记下的xmlDocumant中执行此操作 在内部文本中,我想在哪里保存BYTES阵列
我试过 - >
utf8Encoding.Ascii.getString(buffer)
保存某种代表性
但它改变了字段的值,而不是字符串......当我用
utf8Encoding.Ascii.getBytes(packet_node.innerText) ;
1)问题是如何将这些字节保存到XMLNODE 2)我也试过在每个标签中逐一编写字段
<Packet>
<sender>me</sender>
<receiver>him</receiver>
<MessageType> ..?? how would i represent a byte as a string ? </MessageType>
<Id> 4252353523 </Id> here i have no problem but i still would have to always prase the value back and forth in other uses from int to string ..
</Packet>
3)所以我的结论是将字节数组序列化为xmldocument ..只是我不希望它成为文档而只是现有文档中的一个节点
答案 0 :(得分:4)
将其编码为base-64字符串。只要记住在阅读它时解码它。
byte[] bytes = ...;
string encoded = Convert.ToBase64String(bytes);
byte[] decoded = Convert.FromBase64String(encoded);