2012-06-13 7 views
2

이것은 정말로 짧은 질문입니다.하지만 그 점을 이해할 수 있는지 확실하지 않습니다.URL이 Base32로 인코딩 된 이유는 무엇입니까?

URL이 Base32로 인코딩 된 이유는 무엇입니까? 그 이점과 그 단점은 무엇입니까?

+0

귀하의 질문에 대한 답을 다시 말했습니다. 'URL ids'의 의미가 무엇입니까? – Widor

+0

예. 예를 들어 tinyurl은 ID를 수행하지만 확실하지는 않습니다. – John

답변

2

URL 데이터를 "ÓĆ"와 같이 쉽게 입력 할 수없는 것 또는 텍스트 표현이 전혀없는 이진 데이터로 캡슐화해야 할 수도 있습니다. 쿼리 문자열 내부에 문제가 발생했습니다. 일부 서버는 쿼리 문자열에서 유니 코드 텍스트를 이해하지 못합니다. 물론 상황이 나아지고 있습니다.

따라서 서버가 올바르게 해석 할 수 있도록 데이터를 인코딩해야하고 응용 프로그램에서 사용법을 알고 있어야합니다. Base32가 일반적으로 사용됩니다. 이진 데이터를 해당 데이터의 ASCII 텍스트 표현으로 인코딩합니다. 원래의 데이터가 필요할 때, 그것은 디코딩된다.

왜 base64가 아닌가요? Base64는 거의 항상 인코딩 길이가 짧습니다. Base64의 약점은 인코딩에 대문자와 소문자를 모두 사용한다는 것입니다. Aa 사이에는 구별이 있습니다. Base32는 한 글자의 대소 문자 만 사용하므로 대소 문자를 구분하지 않습니다. 일반적으로 (항상 그런 것은 아님) URL은 대소 문자를 구분하지 않으며 Base32를 사용하면 해당 개념을 그대로 유지합니다. 이 구분은 인코딩 된 데이터를 입력하거나 읽을 때 유용합니다.

Base32의 단점은 훨씬 작은 문자 집합으로 인해 결과 인코딩이 거의 더 길다는 것입니다.

+0

나에게 논리적 인 것처럼 보입니다. YouTube에서 비디오 링크에이 방법을 사용합니까? 그렇다면 문자열 id의 고정 길이는 어떻게 유지합니까? – John