내 질문은 정보가 프로세스에서 손실되었을 수있는 경우 원래 문자열을 검색하는 방법에 관한 것입니다. 이 같은 뭔가 바이트 변화를 사용하는 인코딩 루틴을 검토하고 있습니다 :바이트 이동으로 인코딩을 해독하는 가장 좋은 방법
def encode(string):
encoded = ''
for char in string:
encoded += chr(ord(char)^(ord(char) >> 1))
return encoded
비트 바로 내가 어떤 경우에 정보를 잃어버린있어 이동되는 경우 하나를,하지만 난 방법을 알아 내려고 노력하고있어
In [90]: ord('A') >> 1 << 1
Out[90]: 64
In [91]: ord('B') >> 1 << 1
Out[91]: 66
In [92]: ord('C') >> 1 << 1
Out[92]: 66
이 가능 t 수 있을까요 : 나는 주어진 문자의 목록에 대한 정보를 잃어버린거야으로
def decode(string):
decoded = ''
for char in string:
decoded += ........
return decoded
방식으로 원래의 문자열을 재구성하기 인코딩 된 문자열을 역순으로? 나는 잠시 동안 내 머리를 도청 해왔다. 나는이 일을 할 수 있다는 생각이 들지만, 내 머리는 여기에 붙어있는 것 같다.
@StefanPochmann 답변을 –
니스로 업데이트했습니다. 나는 같은 방법을 생각해 냈지만, 당신의 추론은 훨씬 낫습니다. 나는이 방법이 단일 문자 디코딩을 위해 할 수있는 최선의 방법이라고 생각하며 인코딩보다 훨씬 힘들다는 점에 실망했다. 나는 그것을 수리하기보다는 무언가를 깨뜨리는 것이 더 쉽다고 생각합니다 :-). 긴 문자열의 경우 방금 게시 한 것처럼 조회 테이블을 사용하는 것이 더 좋을 것이라고 생각합니다. –