문제

텍스트 파일의 텍스트에서 변환 된 이진 문자열을 얻으려고하고 있지만 문제는 동일한 수의 비트로 표현할 각 문자가 필요하지만 그렇지 않습니다.내가 얻는 것은 ( 아래의 파이썬 코드와 해당 출력 을 참조하십시오). 예를 들어, Character i는 7 비트 길이 인 1101001로 표현되지만 문자 !100001가 6 비트 길이 인

입니다.

각 문자는 동일한 양의 비트를 취하는 인코딩 / 디코딩 시스템이 있습니까?

content = open('a.txt', 'r').read()
test_str = content
# using join() + ord() + format()  ... Converting String to binary 

Binary = ' '.join(format(ord(i), 'b') for i in test_str)

#Decimal=int(Binary, 2)



# printing original string  
print("The original string is : " + str(test_str)) 
# printing result  
print("The string after Binary conversion : \n" + str(Binary))
.

출력 :

The original string is : Hi! Is there a solution?
The string after Binary conversion : 
1001000 1101001 100001 100000 1001001 1110011 100000 1110100 1101000 1100101 1110010 1100101 100000 1100001 100000 1110011 1101111 1101100 1110101 1110100 1101001 1101111 1101110 111111
.

도움이 되었습니까?

해결책

이 문제를 해결하는 일반적인 방법은 선행 0을 추가하는 것입니다.따라서 i1101001!로 표현되는 동안 0100001가 여전히 나타납니다.

디지털 시계가 6시 40 분 동안 06:40을 사용할 수있는 방법과 유사합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top