uuid = Digest::SHA256.digest(SecureRandom.uuid)
id = Base62.encode(uuid)
정수로 문자열의 암시 적 변환에 문자열의 암시 적 변환정수 base62 인코딩 레일
라인 = id = Base62.encode(uuid)
uuid = Digest::SHA256.digest(SecureRandom.uuid)
id = Base62.encode(uuid)
정수로 문자열의 암시 적 변환에 문자열의 암시 적 변환정수 base62 인코딩 레일
라인 = id = Base62.encode(uuid)
패스 문자열은 스택 오버플로
uuid = SecureRandom.uuid.gsub("-", "").hex
@id = uuid.base62_encode
난 당신의 코드가 작동 할 것입니다 생각하지 않습니다. 그 이유는 다음과 같습니다.
Base62.encode(num)
은 base10 숫자를 base62 문자열로 변환합니다. 다음과 같이 문제가 있습니다 :
Digest::SHA256.digest(SecureRandom.uuid)
# => "\e\x1F\xD6yby\x02o\f)\xA2\x91\xD4\xFB\x85jd\xE0\xF7\xECtd\x8E\xA6\x9Ez\x99\xD8>\x04\nT"
문자열을 반환합니다.
당신이 base62-rb
보석의 코드 및 방법 위의 코멘트를 보면, 당신이 내가이 복제 할 때 내가 오류 정수, 문자열을 비교하는 것 볼 수 있습니다
ArgumentError: comparison of String with 0 failed
을
# From base62-rb.rb line 8-20:
# Encodes base10 (decimal) number to base62 string.
def self.encode(num)
return "0" if num == 0
return nil if num < 0
str = ""
while num > 0
# prepend base62 charaters
str = KEYS[num % BASE] + str
num = num/BASE
end
str
end
이 모든 당신이 base62-rb
보석을 사용하고 있다는 사실에 입각 물론이다
여기에는 보석의 방법이다. 그래서, 아마도 당신에게 우리에게 어떤 맥락을 줄 수 있고, 당신이 시도한 것을 알려줄 수 있습니까?
당신은 주석과 답변을 섞고있다. 질문을 잘 모르는 경우 가장 좋은 방법은 질문에 투표하고 투표를 종료 한 다음 질문에 문제가있는 이유를 설명하는 것입니다. https://meta.stackoverflow.com/questions/256328/vote-to-close-unclear-questions-immediately-after-commenting 및 https://meta.stackoverflow.com/questions/260263/how-long-should- 우리는 잠깐 포스터를 써서 닫히기 전에 질문을 명확히하기 위해 이것을 설명합니다. –
에 오신 것을 환영합니다 base62하기 위해. 링크 된 페이지와 함께 "[ask]"및 "[mcve]"를 읽으십시오. 귀하의 질문은 명확하지 않습니다. –
무엇이 당신의 질문입니까? – sawa
물어봐 줘서 고마워, 사람들이 여기 쓰는대로 더 신경 써, 질문 이상! 나는 uuid를 base62로 전달하려고하지만, 이미 감사 (Thankns)를 풀어 놓았다 –