【问题标题】:encoding base64 in C# decoding in Java在 C# 中编码 base64 在 Java 中解码
【发布时间】:2014-01-17 06:13:38
【问题描述】:

请帮忙 我在将临床文档正确编码为 base 64 并将其发送到 Document 对象时遇到问题。 这是我正在使用的代码。

1.step 我正在将 PDF 文件编码为 Base64

byte[] bytes = System.IO.File.ReadAllBytes(pdffile); 
return Convert.ToBase64String(bytes);

此字符串附加到临床文档

2.将CDA文档附加到元数据提交请求

byte[] bytes = System.IO.File.ReadAllBytes(CDADocument.xml);
string ReturnValue = Convert.ToBase64String(bytes);
byte[] newbyte = System.Text.Encoding.UTF8.GetBytes(ReturnValue);

doc[0].Value = newbyte;

提交请求通过了所有步骤,但解码不起​​作用。 他们正在使用 Java API 来解码提交请求。 谢谢你的帮助

【问题讨论】:

  • 什么是临床文件
  • 明显的问题...如果.Valuebyte[],为什么不直接给它bytes 而不是base-64 和utf-8?
  • 我不能使用字节,因为我必须先编码为base64。Base64返回字符串但值参数需要字节

标签: c# java xml base64 document


【解决方案1】:

确保两者的选项相同。

例如,C# 默认使用 '=' 填充。 Java 可能不希望它被填充。

可能还有其他不兼容的选项,例如在末尾添加新行,或者在中间添加新行以拆分为多行,但我会说填充是最明显的选项。

【讨论】:

  • 谢谢,我无法访问解码程序。是否可以放置一些代码来匹配 Java 解码。我如何知道填充或新行是否不同。
  • 非常感谢您的评论,我是 C# 新手。有没有什么代码可以匹配C#和Java之间的编码和解码?
  • 对不起,我什么都没有,我唯一做的java是android。他们给你一个指定UTF-8的规范吗?
【解决方案2】:

我正在使用 base64 将数据从 asp.net c# 服务器代码传递到 java 小程序,没有问题。
您在这里可能遇到的唯一问题是 UTF8 部分。
编码和解码时双方必须使用UTF8(或任何其他编码)。

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 2023-03-16
    • 1970-01-01
    • 2012-10-18
    相关资源
    最近更新 更多