2011-09-08 124 views
1

请帮忙 我有正确的编码临床文件到基地64并将其发送到文档对象的问题。 这是我正在使用的代码。编码base64在C#解码在Java

1.step我编码的PDF文件为Base64

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

此字符串连接到临床documet

2.Attaching 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来解码提交请求。 感谢您的帮助

+0

什么是*临床文件*? –

+1

明显的问题......如果'.Value'是'byte []',为什么不直接给它'bytes'而不是base-64和utf-8呢? –

+0

我不能使用字节,因为我必须先编码为base64.Base64 returs字符串,但值参数期望字节 – juliak

回答

2

确保两者的选项相同。

例如,C#默认填充“=”。 Java可能不会期望它被填充。

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

+0

谢谢我没有访问解码programm.Is它可能会把一些代码来匹配Java解码。如何我会知道如果垫或新线不同。 – juliak

+0

非常感谢您的评论,我是C#中的新成员。是否有任何代码可以匹配C#和Java之间的编码和解码? – juliak

+0

对不起,我没有任何东西,我做的唯一的java是android.Did,它们给你一个指定UTF-8的规范? – weston

0

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