IDN 퓨니코드 변환기

IDN을 Punycode로, Punycode를 IDN으로 쉽게 변환하세요.

2개의 평가 중 5개
IDN 퓨니코드 변환기

IDN 퓨니코드 변환기는 국제화 도메인 이름을 퓨니코드 ASCII로 변환하고, 퓨니코드를 읽을 수 있는 유니코드 텍스트로 되돌려 주는 무료 도구입니다.

퓨니코드란 무엇이며 왜 필요한가요?

퓨니코드는 유니코드 U-label을 ASCII A-label로 바꾸는 IDNA 변환 체계의 일부입니다. ü, é, 漢 같은 문자가 포함된 이름을 기본 라틴 문자, 숫자, 하이픈만 처리하도록 설계된 시스템에서도 사용할 수 있게 해 줍니다.

IDNA A-label은 xn--으로 시작합니다. 이 접두사는 뒤에 오는 문자가 U-label을 퓨니코드로 표현한 것임을 IDNA 지원 애플리케이션에 알려 줍니다. 점은 구분 기호로 유지되므로 도메인의 각 부분은 개별적으로 변환됩니다.

퓨니코드는 흔히 IDNA로 줄여 부르는 애플리케이션 국제화 도메인 이름 체계에서 사용됩니다. IDNA는 유효성 검사와 문자 처리도 담당하며, 퓨니코드는 사용 가능한 유니코드 레이블을 ASCII로 표현합니다.

퓨니코드는 암호화가 아니라 인코딩입니다. 누구나 ASCII 형식을 다시 유니코드로 변환할 수 있으므로 비밀을 보호하지 않으며, 정보를 숨기는 용도로 사용해서는 안 됩니다.

도식: 텍스트가 IDN 퓨니코드 변환기 도구를 양방향으로 통과한다

국제화 도메인 이름은 어떻게 변환하나요?

유니코드 텍스트는 Punycode/ASCII로 변환에 입력하고, ASCII A-label은 IDN/텍스트로 변환에 입력하세요. 변환 결과는 각각 Punycode/ASCII 또는 IDN/텍스트에 표시됩니다.

  1. 변환할 도메인 이름이나 레이블만 복사하세요. 앞뒤의 따옴표는 포함하지 마세요.
  2. 악센트 문자나 비라틴 문자가 포함된 유니코드 텍스트는 Punycode/ASCII로 변환을 사용하세요.
  3. ASCII A-label은 IDN/텍스트로 변환을 사용하세요.
  4. 변환된 각 레이블을 DNS, 이메일 설정 또는 애플리케이션 구성에 넣기 전에 모두 확인하세요.
digily.link의 IDN 퓨니코드 변환기 도구와 입력 양식

이 변환기는 PHP의 idn_to_ascii 및 idn_to_utf8 함수를 사용합니다. 처리는 서버에서 이루어집니다. 입력한 내용은 HTTPS를 통해 서버로 전송되며 저장되지 않습니다.

도메인 변환 예시

간단한 예시를 보면 화면에 표시되는 이름과 DNS 호환 형식의 관계를 알 수 있습니다.

입력 münchen.de

출력 xn--mnchen-3ya.de

출력값을 반대 방향으로 변환하면 münchen.de가 반환됩니다. ASCII 문자로만 이루어진 de 레이블은 변환할 필요가 없지만, ü가 포함된 레이블은 xn-- 레이블로 바뀝니다.

입력값은 유효한 도메인 이름 텍스트여야 합니다. 기본 형식에서는 일반적인 입력을 다음과 같이 처리합니다.

  • 악센트 문자 및 비라틴 문자: 사용할 수 있는 유니코드 레이블은 IDNA와 퓨니코드를 통해 ASCII로 표현됩니다.
  • 점: 점은 레이블을 구분합니다. 따라서 하나의 도메인에 일반 ASCII 레이블과 인코딩된 레이블을 함께 사용할 수 있습니다.
  • 숫자 및 일반 하이픈: 이미 ASCII 문자이므로 도메인 이름 문법 규칙에 어긋나지 않는 한 대체로 읽을 수 있는 형태로 유지됩니다.
  • 공백: 일반적인 DNS 호스트 레이블 안에는 공백을 사용할 수 없습니다. 실수로 들어간 공백은 퓨니코드가 도메인의 일부로 보존해 줄 것이라고 기대하지 말고 삭제하세요.
  • 문장 부호: 마침표는 레이블을 구분하지만, URL 경로, 포트 또는 쿼리 문자열에 속한 문자는 호스트 이름의 일부가 아닙니다.
  • 비어 있거나 지나치게 긴 입력: 값이 비어 있으면 변환할 도메인이 없습니다. DNS에서는 인코딩된 각 레이블을 63옥텟으로 제한하므로, 겉보기에는 짧은 유니코드 레이블도 변환 후 너무 길어질 수 있습니다.
IDN 퓨니코드 변환기 도구가 생성한 결과 예시

퓨니코드 변환이 실패하거나 예상과 다른 텍스트가 나오는 이유는 무엇인가요?

입력값이 유효한 IDN 텍스트가 아니거나, 잘못된 A-label이 포함되어 있거나, 먼저 다른 방식으로 인코딩된 경우 변환이 실패하는 일이 많습니다. IDN/텍스트로 변환할 때 A-label이 아닌 일반 ASCII 입력은 그대로 유지될 수 있습니다. 문자를 직접 수정하기 전에 원본이 유니코드 U-label인지, ASCII A-label인지, URL 인코딩된 호스트 이름인지 확인하세요.

  • 잘못된 A-label 또는 다른 인코딩 형식: 형식이 잘못된 xn-- 레이블은 변환에 실패할 수 있습니다. Base64, 16진수 텍스트, 퍼센트 인코딩된 URL은 퓨니코드가 아닙니다.
  • 지원되지 않는 문자: 퓨니코드 알고리즘은 유니코드 값을 표현할 수 있지만, IDNA 규칙과 도메인 등록기관은 특정 문자, 문자 조합 또는 문자 체계를 허용하지 않을 수 있습니다.
  • 레이블 길이 초과: DNS에서는 인코딩된 각 레이블을 63옥텟으로 제한하므로 유니코드 레이블이 변환 후 너무 길어질 수 있습니다.
  • 불완전한 입력: 호스트 이름과 함께 괄호, 포트 번호 또는 HTML 속성 일부를 복사하면 값이 유효하지 않을 수 있습니다.
  • 이중 인코딩된 입력: 퓨니코드 도메인의 문자가 명시적으로 또는 비표준 방식으로 퍼센트 인코딩되었다면 퍼센트 시퀀스로 표시될 수 있습니다. 먼저 URL 디코더로 해당 URL 인코딩 계층을 디코딩한 다음, 결과로 나온 도메인을 변환하세요.
  • 텍스트가 아닌 바이너리 데이터: IDN 변환은 유니코드 도메인 이름 텍스트를 대상으로 합니다. 임의의 파일 바이트를 텍스트로 처리하면 유효성 검사에 실패하거나 의미 없는 문자가 나올 수 있습니다.

퓨니코드는 어디에서 볼 수 있나요?

퓨니코드는 주로 도메인 이름, DNS 레코드, 브라우저의 주소 처리 과정, 호스트 이름을 ASCII로 저장하는 시스템에서 볼 수 있습니다. 브라우저는 자체 보안 규칙과 사용된 문자에 따라 읽을 수 있는 국제화 도메인 이름을 표시하거나 xn-- 형식을 그대로 보여 줄 수 있습니다.

이메일 주소에서는 @ 기호 뒤의 도메인에 퓨니코드를 사용할 수 있습니다. @ 기호 앞의 메일함 이름은 퓨니코드로 인코딩하지 않습니다. JSON 페이로드와 쿼리 문자열에 호스트 이름이 포함된 경우 퓨니코드가 들어갈 수 있지만, 일반 텍스트에 JSON이나 쿼리 문자열 문법을 사용할 때 퓨니코드가 필요한 것은 아닙니다.

데이터 URI의 콘텐츠에는 일반적으로 퍼센트 인코딩이나 Base64가 사용됩니다. 포함된 텍스트에 국제화 호스트 이름이 있을 때만 퓨니코드가 나타납니다. 마찬가지로 경로나 쿼리 값에는 URL 인코더를 사용하고, 호스트 이름 자체에는 퓨니코드를 사용하세요.

자주 묻는 질문

IDN 변환기에 전체 URL을 붙여 넣어도 되나요?

호스트 이름만 추출해 해당 부분만 변환하는 편이 안전합니다. 스킴, 포트, 경로, 프래그먼트, 쿼리에는 각각 별도의 문법 규칙이 적용되며, 이 영역의 문자는 퓨니코드가 아니라 URL 인코딩이 필요할 수 있습니다.

도메인 이름에 xn-- 레이블이 있으면 위험한 웹사이트인가요?

아닙니다. 정상적인 국제화 도메인도 xn-- 레이블을 많이 사용합니다. 다만 서로 다른 문자 체계에서 모양이 비슷한 문자를 이용해 오해를 유도하는 이름을 만들 수 있으므로, 비밀번호나 결제 정보를 입력하기 전에 디코딩된 철자와 예상한 기관이 맞는지 확인하세요.

이모지를 퓨니코드 도메인에 사용할 수 있나요?

퓨니코드 알고리즘이 이모지의 코드 포인트를 인코딩할 수 있더라도 IDNA 도메인 레이블에서는 이모지가 허용되지 않습니다. 도메인 등록기관의 정책에 따라 허용되는 문자 체계와 기호가 더 제한될 수도 있습니다.

브라우저에서 유니코드 대신 퓨니코드가 표시되는 이유는 무엇인가요?

레이블에 여러 문자 체계가 섞여 있거나, 스푸핑에 이용될 수 있는 문자가 포함되어 있거나, 브라우저의 표시 정책을 충족하지 않으면 ASCII 형식이 그대로 표시될 수 있습니다. 이는 표시 단계의 안전 조치이며, 변환이 잘못되었다는 증거는 아닙니다.

변환된 이름은 DNS에서 반드시 작동하나요?

아닙니다. 변환에 성공했다고 해서 해당 도메인이 등록되어 있거나, 등록할 수 있거나, 관련 등록기관에서 허용된다는 뜻은 아닙니다. 결과를 사용하기 전에 레이블 길이를 확인하고, 읽을 수 있는 이름의 철자를 검토한 뒤, 사용된 문자를 등록기관이 허용하는지 확인하세요.

인기 도구