2012-06-20 2 views
3
나는 다음과 같은 오류를 받고 있어요

을 파일로 하지만 어떻게 해결해야할지 모르겠습니다. 현재 Ruby 1.9.3을 사용하고 있습니다.루비 1.9 Base64 인코딩 쓰기 오류

decode_base64_content = Base64.decode64(content) 

    File.open("index.txt", "w") do |f| 
    f.write(decode_base64_content) 
    end 

내용이 같은 것입니다 장소 :

CgcZAAEAAABQcmVzZW50YXRpb24RMQAGSUIyQjdCNjBCLUZBRTMtMjVGMS1DQ0E1LTM1REM4NjBC 
MDlCRgYCBklBMjk2OTQ4MC0yMkQyLURENzMtQUY5Ni1DNURDMDIyQTVFRjkGBAZJNUJCRTI3REYt 
Q0QyRC03NkY0LTk1MUMtQzYxRkYxQjgxN0Y4BgYGSTg0QjM3M0FGLTVFNjEtMkMwMy1DMTBCLUNB 
MUZCMDY0Q0NERQYIBkkwOTIwNDRBRC02QTQ5LTg0NzEtMzc5QS0yRjQxMzU2MUY0OUQGCgZJODlC 
NDczOTUtOTk1MS01OTk1LTk4NDctNkU1NjI4RjhGNjYzBgwGSThCQ0RFM0VDLUMyREItMDkyNy1G 
NTFFLTJGNDE4OEMzNURDMwYOBklGMDk5QkRDOC1GOEFDLTg1QjEtMjgzMC0yRjQ5RkZFMDFCNUEG 
EAZJNTJCOEQ3RUItMzZEQi1CMjNELUU2MTYtMkY0QjUxNDIwMjBFBhIGSUM2RjkzNjgwLTFBNjMt 
NzU5Qi0yOEE5LTUwMDc2NjZCOEYyNgYUBkk2MDIwRjg4Ni1BQTk4LTRBNDQtQjZGNS1DNDAyMTMz 
NzEzOEQGFgZJRDFEMjcxMzYtQTkwQy0xRDBBLTc4RjAtQ0ExRUFCQzgzRUE1BhgGSUZBRDQzMjI1 
LTUwODctNENEMy1ENjkzLUQ4Qzg0NDc3RTMyRAYaBklFMjc5NjA5Mi0xNUYzLUY4NkItMEFBQi0x 
MUEzQjIwNEFBRTIGHAZJNERFNEYzNUItQzAyNy1DOTQ1LTY2MzUtMDE4NTZDRTdBMDM3Bh4GSUM4 
NjA4RkI4LUI4RDEtMjM5RS04ODY4LUNBMjIzNUUwNjk5MAYgBkk4QjcxOEFDRi03NEE0LTA4REQt 
QzZENC1DQTEyNDQwRTkzOUYGIgZJQjA3NTk0OEMtQzA3MS0wQTQ3LTYxNDQtNEU1OUIwN0QwQ0VF 
BiQGSUM2M0VFQkU1LUZFOEEtRUVDMC1GNDFFLTc3QTI3Qzg2RDE1OAYmBkk5QkQ2M0NEQi02NDg2 
LTM2OUQtMTY0NS0xMDIzMTQ5Njk1OUQGKAZJOTI3NDUzNDEtRUYzRC04MEU1LUZDQkUtQ0EyMTZG 
Q0FGRTcyBioGSUI3MzlFMTBFLTk2M0QtMDA0Ny1EMkU1LUNBMjA2ODM2MjZFNgYsBkk4RUY5QkZB 
Ni0wNDAyLTQwQUQtRjAxQi0xMTRBNDBFODMwRjMGLgZJQjY2N0YxODktNzQ4My05RkE4LTYwMDkt 

~ 3000 개 선을 위해 계속됩니다.

이 변환 오류를 어떻게 해결합니까? 위의 코드는 작동하지만 3000 라인의 어딘가에서는 base64 디코드 메소드가 잘못된 인코딩을 사용한다고 생각합니다. 감사!

+0

예외가'Base64.decode64에 의해 제기되어 있는지 여부를 알고 도움이 될 것를 '호출 또는'f.write' 호출에 의해 호출됩니다. – rewritten

+0

오류가 f.write 호출 – John

답변

9

"\x81"가 제어 문자입니다, 그래서 당신은 파일의 바이너리 열어야합니다, 어떤 수단의 텍스트 아니다 감안할 때 :

File.open("index.txt", "wb") do |f| 
    f.write(decode_base64_content) 
end 
+3

에 있습니다! 고맙습니다! – John

+1

나에게도 매우 도움이된다! – poseid

+2

은 "w : 바이너리"의 별칭 "wb"입니까? – Krut