현재 사용자가 파일을 압축하고 압축을 풀 수있는 Java/Android 응용 프로그램을 개발 중입니다. 처음에는 같은 파일 크기를 연구하기 시작 :이 연구 한 후파일을 압축 및 압축 해제하는 응용 프로그램/시스템 구축 위치
1Byte = 8Bits
1KB = 1024Byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB
1ZB = 1024EB
1YB = 1024ZB
, 내가 공부하고 그물에 몇 가지 기사를 읽고 파일 압축 (나는 '경우 정정 해줘의 2 종류가 있습니다 발견 m wrong) : 무손실과 손실. 무손실 압축은 하나의 파일을 잃지 않고 파일을 더 작은 비트로 압축하는 것을 의미하며 손실 압축은 파일을 압축하는 동안 중요한 파일이 제거되었음을 의미합니다.
나는 또한 압축 (실행 길이 코딩 방법)을 읽는는 다음과 같이이다 : 이것에
AAABBCCDFFFFEEEEH
: 나에게 파일에 작품을 압축 해제/압축 방법에 대한 아이디어를 제공
3A2B2CD4F4EH
.
나는 또한 내가 아니라 압축 및 각종 유용한 웹 사이트/포럼에서 파일을 압축 해제에 대한 몇 가지 코드를 시도
java.util.zip
입니다 (안드로이드에 적용 가능) 자바에 파일을 압축하기위한 API가 있다는 것을 인터넷을 검색/etc (stackoverflow.com 포함)이 저에게이 연구에 대한 경험을 제공합니다.
또한 (나는 또한 '돈
Huffman encoding algorithm - assigns a code to characters in a file based on how frequently those characters occur
run-length encoding - generates a two-part value for repeated characters: the first part specifies the number of times the character is repeated, and the second part identifies the character
Lempel-Ziv algorithm - converts variable-length strings into fixed-length codes that consume less space than the original strings.
지금, 내가 압축 java.util.zip을 사용하여 파일을 압축 해제에 너 한테을 코딩하는 방법을 알 필요가있는 데이터 압축에 사용되는 알고리즘에 대해 읽어 그것을 사용하는 방법을 안다. 그물에 관한 튜토리얼은 나를 위해 일하지 않는다 : /). winzip, winrar, 압축 폴더 (windows), androzip (android app)이 사용하는 algo는 무엇입니까? 다른 사람이 java.util.zip의 작동 방식과 알고리즘에 대해 단계별로 가르쳐 주시겠습니까 (학교 교육을받지 않은 사람으로 저를 대우하십시오)? 긴 지위 사람들을 유감스럽게 생각합니다. 향후 도움과 게시물을 보내 주셔서 감사합니다 (있을 경우)!
질문에 답변이 너무 광범위 할 수 있습니다. 어떤 경우에도 java.util.zip을 사용하려면 http://www.mkyong.com/java/how-to-compress-files-in-zip-format/ – cklab
을 참조하십시오. 튜토리얼을 따라갈 수없는 경우, 여기에 적힌 글을 쉽게 따라 할 수 있다고 생각하는 이유는 무엇입니까? 당신은 어려움을 겪고있는 것을 지정해야합니다. 그렇지 않으면 아무도 당신을 도울 수 없게됩니다. –
cklab, 귀하의 제안에 감사드립니다! 나는 이것을 나의 공부 목록에 포함시킬 것이다. – John