아래는 정수 값을 ASCII 문자열로 인코딩하는 코드입니다. 그것은 파이썬으로 작성되었으며 제 테스트에서 잘 작동합니다.정수 값을 문자열로 변환
def encode(value):
code = ''
while value%254 != value:
code = code + chr(value%254)
value = value/254
code = code + chr(value)
return code
def decode(code):
value = 0
length = len(code)
for i in range(0, length):
print code[i]
value = value * 254 + ord(code[length-1-i])
return value
code = encode(123456567)
print code
print decode(code)
그러나 Lua에서 동일한 구현을 시도하면 인코딩되고 디코딩 된 값이 일치하지 않습니다. 다음은 내 루아 버전입니다 :
function encode(value)
code = ''
while value%254 ~= value do
code = code .. string.char(value%254)
value = value/254
end
code = code .. string.char(value)
return code
end
function decode(code)
value = 0
code = string.reverse(code)
for i=1, #code do
local c = code:sub(i,i)
print(c)
value = value*254 + string.byte(c)
end
return value
end
code = encode(2555456)
print(decode(code))
255를 modifier로 사용하여 255를 구분 기호로 사용할 수 있습니다.
단어 구분 : – hjpotter92