바이너리 모드 [8 비트 또는 12 비트]로 파일에 저장할 때 문자가 차지하는 공간은 어느 정도입니까? sizeof Wiki article : 나는 오래 다음 얼마나 많은 공간이 거 당신이 필요한 좋은 돕는 도구가 3 비트 [101] 또는 8 비트 [00000101]바이너리 파일에 데이터 저장
답변
플랫폼에 long
()을 저장하는 데 필요한 바이트 수를 복사합니다. 숫자를 나타내는 데 필요한 비트 만 복사하면 데이터를 읽을 때 해석 할 방법이 없습니다.
그러나 코드에서 문자열로 복사하고 있습니다. 그래서 이진수가 아닌 문자 (아마도 ASCII) 표현이 저장 될 것입니다.
을 [5 말] 저장하는 경우도
fprintf(f,"%ld",ch);
인용구 : 단항 연산자를 sizeof 모든 데이터 유형의 크기를 계산하는 데 사용되는 프로그래밍 언어 C 및 C++에서,
: 당신이 많은 바이트 뭔가를 사용하는 방법을 알고 싶다면, 바로 를 sizeof를 사용합니다., BYT의 수로 측정 유형을 나타내는 데 필요한 es. 이 컨텍스트의 바이트는 부호없는 char과 동일하며 흔하지는 않지만 8 비트보다 클 수 있습니다. sizeof의 결과는 앞에 오는 표현식 또는 괄호로 묶인 유형 지정자 유형의 크기이며 일반적으로 size_t로 표시되는 부호없는 정수 유형을가집니다. sizeof는 정수 및 부동 소수점 유형, 포인터 유형 또는 복합 데이터 유형 (공용체, 구조체 또는 C++ 클래스)과 같은 기본 유형을 비롯하여 모든 데이터 유형에 적용 할 수 있습니다. 그래서 기본적으로
수주의 그러나 : 포인터, 실제로 포인터에 있지만 (배열 등) 다르게 사용되는 다른 요소에만 바이트 포인터의 크기 ... 아니 구조 포인터 점을 보여 ! 그리고 포인터를 저장하는 것은 매우 제한적입니다. 다음에 사용할 객체가 메모리의 다른 위치에있을 수 있습니다.
fprintf(f,"%ld",...)
은 숫자를 10 진수로 변환하고 log_10 (ch) 바이트를 저장합니다. fwrite과 함께 저장할 때 지정한만큼의 바이트가 소요됩니다.
fwrite (buffer , 1 , sizeof(buffer) , f)
또한주의 읽기 쓰기 ACESS는 바이트 단위이므로 항상 실제로 내가 LZ 압축 방식을 구현 한 8
45 바이트로 구성된 예제 입력 파일, ASCII 텍스트 문자열은/rain/in/Spain/falls/mostly/on/the/plain입니다. LZW 알고리즘이 입력 파일에서 문자 "a"를 읽는다면, 우리는이 값이 01100001 (97 비트는 8 비트로 표현됨)을 읽는다는 것을 의미합니다. 97은 ASCII에서 "a"입니다. 인코딩 된 파일에 문자 "a"를 씁니다. 000001100001 (97 비트는 12 비트로 표현됨)을 씁니다. [link] (http://www.dspguide.com/ch27/5)에서이 내용을 읽었습니다.htm) 그래서 어떻게 데이터가 항상 8의 배수로 저장됩니까? 나에게 약간 혼란스러운 점이 있습니까? – adil
- 1. 파이썬에서 행별로 파일에 바이너리 데이터 저장
- 2. 데이터 프레임을 바이너리 파일로 저장
- 3. 파일에 데이터 저장 - Android
- 4. opencv의 파일에 데이터 저장
- 5. 파일에 영구적으로 데이터 저장
- 6. 엑셀 파일에 데이터 저장
- 7. RDLC 파일에 데이터 저장
- 8. 파이썬에서 바이너리 압축 형식으로 파일에 데이터 쓰기
- 9. 파이썬으로 바이너리 파일에 데이터 바이트 추가하기
- 10. 바이너리 저장 게임 데이터 수정하기 (iPhone)
- 11. RESX 파일에 데이터 집합 저장
- 12. .db 파일에 데이터 저장 - java.io.File
- 13. iPhone - plist 파일에 데이터 저장
- 14. 여러 입력에서 파일에 데이터 저장
- 15. 파일에 입력 된 데이터 저장
- 16. xml 형식의 파일에 데이터 저장
- 17. 클라이언트 측 파일에 데이터 저장
- 18. 파이썬에서 파일에 숫자로 데이터 저장
- 19. .txt 파일에 양식 데이터 저장
- 20. JSON 파일에 UIObject 데이터 저장
- 21. jquery를 사용하여 파일에 데이터 저장
- 22. 바이너리 데이터 저장 방식 (사용자 업로드 파일 저장)
- 23. 파일에 바이너리 시퀀스
- 24. vb.net 파일로 웹 바이너리 저장
- 25. 어떻게 matlab에 32 비트 바이너리 파일에 데이터를 저장 하시겠습니까?
- 26. BLOB에 바이너리 저장
- 27. MySQL 바이너리 저장 문제
- 28. QImage :: setText()를 사용하여 PNG 파일에 이진 데이터 저장
- 29. 문자열을 바이너리 파일에 어떻게 포함합니까?
- 30. 바이너리 파일에 데이터를 어떻게 추가합니까?
의 배수와 I는 당황했다대로 파일에 하나의 비트를 저장하지 않습니다로 point [length> = 2]를 인덱스 번호로 대체해야하는 지점. 그래서 "ls"[16 bits]를 "25s [its index]라고 말하면"ls "를 대체 한 후이 256이 얼마나 많은 공간을 차지하게 될까요? and how?] – adil