문자 인코딩 문제를 테스트하기위한 "Lorem ipsums"파일 세트가 있습니까?


85

레이아웃을 위해 유명한 "Lorem ipsum"텍스트가 어떻게 생겼는지 테스트합니다.

내가 찾고있는 것은 텍스트 파일을 읽을 때 문자 인코딩을 처리하는 일부 메소드를 테스트하기 위해 JUnit 테스트에서 사용할 수있는 여러 다른 인코딩으로 인코딩 된 텍스트를 포함하는 파일 세트입니다.

예:

갖는 ISO 8859-1인코딩 테스트 파일과 Windows-1252인코딩 테스트 파일을. Windows-1252는 지역 80 16 – 9F 16 의 차이를 트리거해야합니다 . 즉, ISO 8859-1과 구별하기 위해이 영역의 문자를 하나 이상 포함해야합니다.

아마도 가장 좋은 테스트 파일 세트는 각 인코딩에 대한 테스트 파일이 모든 문자를 한 번 포함하는 것입니다. 그러나 아마도 나는 sth를 알지 못할 수도 있습니다. 우리 모두는이 인코딩을 좋아합니다. :-)

문자 인코딩 문제에 대한 테스트 파일 세트가 있습니까?


1
+1 : 방금 UTF-8 디코더를 구현하는 데 상당한 시간을 보냈습니다. 모든 코너 케이스를 처리하려면 생각보다 더 많은 단위 테스트가 필요합니다.
Raedwald 2012

4
"여러 다른 인코딩으로 인코딩 된 텍스트": 좋은 범위를 위해 유효하지 않은 바이트를 포함하는 샘플 바이트 시퀀스도 필요합니다. UTF-8 Wikipedia 페이지에 따르면 이러한 사례를 잘못 처리하면 일부 유명 제품에 보안 취약성이 발생했습니다.
Raedwald 2012

@Raedwald 물론 좋은 지적입니다. 나는 이것을 몰랐다. 제 생각에는 인코딩 문제에 대한 성숙한 테스트 스위트의 또 다른 이유입니다. 파일 세트 일 필요는 없습니다. 또한 JUnit 테스트에서 사용할 수있는 테스트 데이터를 제공하는 라이브러리 일 수도 있습니다. 예를 들어 샘플 바이트 시퀀스를 디코딩 한 후 비교를 위해 공통 문자 집합에 대한 중요 / 잘못된 바이트 시퀀스와 참조 문자열을 제공 할 수 있습니다. 그냥 몇 가지 생각과 나는이 인코딩 물건 ... 주위의 모든 libs와 테스트있어 궁금
파비안 바니

답변:


26

ICU 테스트 스위트 파일을 사용해 보는 것은 어떻습니까? 테스트에 필요한 것인지는 모르겠지만 적어도 UTF 매핑 파일에서 /에서 꽤 완전한 것 같습니다. ICU 테스트 파일의 저장소에 링크


지금까지 내가 좋아하는 +1. 나는 문서를 1 시간 동안 읽었고 적어도 유니 코드 관련 항목에 필요한 모든 것을 제공하는 것 같습니다.
Fabian Barney

지금까지 정말 최선의 답이라고 생각합니다. 나는 그것을 받아 들였고 당신이 그것에 대한 명성을 얻기를 바랍니다. 일주일 전에 대답했다면 여기의 다른 대답에 비해 훨씬 더 좋은 점수를 얻었을 것입니다. 어쨌든 고마워!
Fabian Barney

41

분음 부호 에 대한 Wikipedia 기사 는 매우 포괄적이며 불행히도 이러한 문자를 수동으로 추출해야합니다. 또한 각 언어에 대한 니모닉이있을 수 있습니다. 예를 들어 폴란드어에서는 다음을 사용합니다.

Zażółć gęślą jaźń

9 개의 폴란드어 분음 부호가 하나의 정확한 문장에 모두 포함되어 있습니다. 또 다른 유용한 검색 힌트는 pangrams : 알파벳의 모든 문자를 적어도 한 번 사용하는 문장 :

  • 스페인어로 " El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja. "(모두 27 자 및 분음 부호).

  • 러시아어로 " Съешь же ещё этих мягких французских булок, да выпей чаю "(모두 33 개의 러시아어 키릴 문자).

팬 그램 목록 에는 완전한 요약이 포함되어 있습니다. 누구나 이것을 간단하게 포장 할 수 있습니다.

public interface NationalCharacters {
  String spanish();
  String russian();
  //...
}

도서관?


1
확실히 이것은 +1 답변입니다. 실제로 잘 생각 된 테스트 파일 세트가 있기를 바라며 조금 기다릴 것입니다. 인코딩이 다른 것 위에 빌드되기 때문에 차이를 유발하는 각 인코딩에 대한 테스트 파일을 갖는 것이 매우 좋을 것이라고 생각합니다. 그러나 내가 틀렸을 수도 있고 그들이 존재하지 않는 이유가 있습니다.
Fabian Barney 2012

8

완전한 텍스트 문서를 모르지만 모든 문자 집합에 대한 간단한 개요로 시작할 수 있다면 ftp.unicode.org 서버 에서 사용할 수있는 일부 파일이 있습니다.

예를 들어 WINDOWS-1252가 있습니다. 첫 번째 열은 16 진수 문자 값이고 두 번째 열은 유니 코드 값입니다.

ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT


+1 노력해 주셔서 감사합니다. 매우 흥미로운 파일 리소스입니다.
Fabian Barney

1

글쎄, 나는 온라인 도구를 사용하여 Lorem Ipsum에서 텍스트 문자 세트를 만들었습니다. 나는 그것이 당신을 도울 수 있다고 믿습니다. 한 페이지에 모든 다른 문자 집합이있는 것은 없습니다.

http://generator.lorem-ipsum.info /


4
Lorem ipsum 은 라틴어와 마찬가지로 라틴 문자로만 구성됩니다. 이것은 여기서 요구되는 것이 아닙니다. BTW : repo1.maven.org/maven2/org/codeswarm/lipsum/1.0
Tomasz Nurkiewicz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.