2011-09-08 2 views
1

도와주세요 64를 기본으로하여 Document 객체로 보내는 임상 문서를 올바르게 인코딩하는 데 문제가 있습니다. 여기에 제가 사용하고있는 코드가 있습니다.Java에서 C# 디코딩의 base64를 인코딩하는 경우

1.step 나는

2.Attaching CDA 문서 메타 데이터 제출 요청에 임상 documet에 부착

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

이 문자열 Base64로

에 PDF 파일을 인코딩하고 제출 요청이 전달

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

* * Clinical Document * 란 무엇입니까? –

+1

확실한 질문 ... 만약'.Value'가'byte []'이라면, base-64와 utf-8 대신'bytes'를 주면 어떨까요? –

+0

base64로 인코딩해야하기 때문에 바이트를 사용할 수 없습니다 .Base64는 문자열을 반환하지만 값 매개 변수는 바이트를 기대합니다. – juliak

답변

2

두 가지 옵션이 모두 같은지 확인하십시오.

예를 들어, C#은 기본적으로 '='으로 채 웁니다. 자바가 패딩 될 것으로 기대하지 않을 수도 있습니다.

끝에 다른 줄을 추가하거나 중간에 여러 줄로 나누는 것과 같은 다른 호환되지 않는 옵션이있을 수 있지만 필자가 가장 분명히 말합니다.

+0

감사합니다. 디코딩 programm.Is에 액세스 할 수 없습니다. 자바 디코딩과 일치시킬 수있는 코드를 넣을 수 있습니다. 어떻게? 나는 패드와 라인이 다른지 알고 싶습니다. – juliak

+0

이 설명에 대해 대단히 감사드립니다. C#의 새로운 기능입니다. C#과 Java 사이에서 인코딩과 디코딩을 맞추는 코드가 있습니까? – juliak

+0

미안하지만 아무것도 안합니다. 내가 할 수있는 유일한 자바는 android입니다. 그들은 UTF-8을 지정한 스펙을 제공합니까? – weston

0

asp.net C# 서버 코드에서 Java 애플릿으로 데이터를 전달할 때 base64를 사용하고 있는데 문제가 없습니다.
여기있는 유일한 문제는 UTF8 부분입니다.
인코딩 및 디코딩 중에 UTF8 (또는 다른 인코딩)을 양측에서 사용해야합니다.

관련 문제