c 加密 java解密错误_google协议缓冲区-用C加密,用Java解密-InvalidProtocolBufferException...
抱歉,但我想我要瘋了.我在C中有這個:
std::stringstream message;
protoMsg.SerializeToOstream(&message);
boost::system::error_code ignored_error;
std::cout << "Writing response to socket. Byte size " << protoMsg.ByteSize() << " Buffer " << message.str().length() << std::endl;
for(int i(0);i
std::cout << (int)message.str().at(i);
std::cout << std::endl;
boost::asio::write(socket, boost::asio::buffer(message.str()), ignored_error);
std::cout << "Done writing." << std::endl;
產生這個輸出
Writing response to socket. Byte size 88 Buffer 88
1886811891161111001113278971091012500000000320400480560640730000000081000000008859621061211611110011132115121109789710910111416691201161011141109710832114101113117101115116
Done writing.
而在Java中:
try {
System.out.println("Parsing");
int lenbytes = is.read(buffer);
System.out.println("Read bytes " + lenbytes);
for(int i=0;i
System.out.print(Integer.toString((int)buffer[i]));
System.out.println("");
EnvInfoProto envInfoProto = EnvInfoProto.parseFrom(buffer);
System.out.println("Done");
return envInfoProto;
} catch(IOException ignore) { System.out.println("Ex: " + ignore.toString(); }
哪個產量
Parsing
Read bytes 88
1886811891161111001113278971091012500000000320400480560640730000000081000000008859621061211611110011132115121109789710910111416691201161011141109710832114101113117101115116
Ex: com.google.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
二進制數據是相同的.我檢查了我是否使用了正確的原始文件版本.我有點不知所措.任何幫助表示贊賞.
總結
以上是生活随笔為你收集整理的c 加密 java解密错误_google协议缓冲区-用C加密,用Java解密-InvalidProtocolBufferException...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 赛码输入输出java_赛码网-计算器的新
- 下一篇: java hasfocus_Java K