2011-01-23 7 views
0

picture.png의 "binary"데이터를 인쇄하는 unzip -p myzip.zip picture.png 명령을 실행하는 코드가 있습니다. 올바른 확장명으로 저장 한 경우 파일을 열면 파일이 손상되었다는 오류가 표시됩니다. 그래서 내 질문은 코코아를 사용하여 파일에이 데이터를 쓰는 적절한 방법은 무엇입니까? 지금은 [data writeToFile:@"/picture.png" atomically:NO];을 사용하고 있습니다. 나는 이진 1과 0을 있어야하지만 "바이너리"코드를 다음과 같이 제공합니다 알고 :코코아로 이진 데이터 저장

?VaE?.?_QA?J+G:'GD?{C??!? ??٬?d?V ?E?e???8^?t?-P?ʍ?psq???N?S:????,l^&?,_."? ??!a?Y`?,?-??.I ?ILD]?Ҙ佊??????????FLߊŜ?D??Y%[email protected]?#/??# 

답변

0

매우 긴 man 페이지에서 3 번째로 읽은 후 -d 인수를 사용하여 더 좋은 방법을 발견했습니다.

1

모든 데이터는 (글을 쓰는이 시간에) 0과 1에 저장됩니다. 파일을 화면에 인쇄 할 때 저장된 값과 함께 ASCII 문자를 제공합니다.

파일을 '바이너리'로 저장할 때 기본적으로 줄 바꿈이 변환되지 않음을 의미합니다. '압축 해제'가 잘못 압축 해제되거나, 압축 파일이 손상되거나 압축 파일의 PNG가 손상 될 수 있지만 PNG가 올바르게 저장됩니다. 원자

[data writeToFile:@"/picture.png" atomically:YES]; 

: YES 권장


이 올바른 코코아입니다. 코드와


문제는있는 NSData가 유효 PNG 데이터,하지만 원시 이미지 데이터, GIF 데이터, JPEG 데이터 또는 비 PNG 데이터의 다른 종류를 포함하지 않습니다 수 있습니다.