文字エンコードの問題をテストするための「Loremipsums」ファイルのセットはありますか?


85

レイアウトについては、有名な「Lorem ipsum」テキストを使用して、どのように表示されるかをテストします。

私が探しているのは、テキストファイルを読み取るときに文字エンコードを処理するいくつかのメソッドをテストするためにJUnitテストで使用できる、いくつかの異なるエンコードでエンコードされたテキストを含むファイルのセットです。

例:

持つISO 8859-1エンコードされたテスト・ファイルおよびWindows-1252エンコードされたテストファイルを。Windowsの-1252は、領域80の違いトリガする必要があり16 9F - 16。つまり、ISO 8859-1と区別するために、この領域の文字が少なくとも1つ含まれている必要があります。

おそらく、テストファイルの最良のセットは、各エンコーディングのテストファイルにすべての文字が一度含まれているものです。しかし、多分私はsthに気づいていません-私たちは皆、このエンコーディングのものが好きですよね?:-)

文字エンコードの問題に関するそのようなテストファイルのセットはありますか?


1
+1:UTF-8デコーダーの実装にかなりの時間を費やしました。すべてのコーナーケースを処理するには、想像以上に多くの単体テストが必要です。
レドワルド2012

4
「いくつかの異なるエンコーディングでエンコードされたテキスト」:適切なカバレッジのために、無効なバイトを含むサンプルバイトシーケンスも必要です。UTF-8 Wikipediaのページによると、これらのケースの取り扱いを誤ると、一部の有名な製品にセキュリティの脆弱性が発生しました。
レドワルド2012

@Raedwaldもちろん、それは良い点です。私はこれに気づいていませんでした。私の意見では、エンコーディングの問題に対する成熟したテストスイートのもう1つの理由です。ファイルのセットである必要はありません。また、JUnitテストで使用できるテストデータを提供するライブラリにすることもできます。たとえば、一般的な文字セットのクリティカル/無効なバイトシーケンスと、サンプルのバイトシーケンスをデコードした後の比較用の参照文字列を提供できます。ただ、いくつかの考えと私はこのエンコーディングものは...周りのすべてのlibsでテストしましたか疑問
ファビアン・バーニー

回答:


26

ICUテストスイートファイルを使用してみませんか?それらがテストに必要なものであるかどうかはわかりませんが、少なくともUTFマッピングファイルから/への完全なものがあるようです。ICUテストファイルのリポジトリへのリンク


これまでの私のお気に入りを+1します。ドキュメントを1時間読んだところ、少なくともユニコード関連のものについては、必要なものがすべて揃っているようです。
ファビアンバーニー

これが今のところ本当にベストな答えだと思います。私はそれを受け入れました、そしてあなたがそれについていくらかの評判を得ることを望みます。1週間前に回答した場合、ここにある他の回答と比較して、スコアがはるかに高くなると確信しています。とりあえずありがとう!
ファビアンバーニー

41

分音記号に関するウィキペディアの記事はかなり包括的ですが、残念ながら、これらの文字を手動で抽出する必要があります。また、言語ごとにいくつかのニーモニックが存在する場合があります。たとえば、ポーランド語では次のものを使用します。

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

これには、9つのポーランド語発音区別符号がすべて1つの正しい文に含まれています。もう1つの便利な検索ヒントは、パングラムです。アルファベットのすべての文字を少なくとも1回使用する文です

  • スペイン語で、「Elvelozmurciélagohindúcomíafelizcardilloykiwi。Lacigüeñatocabaelsaxofóndetrásdelpalenquedepaja。」(27文字すべてと発音区別符号)。

  • ロシア語では、「Съешьжеещёэтихмягкихфранцузскихбулок、давыпейчаю」(33個のロシア語キリル文字すべて)。

パングラムのリストには、網羅的な要約が含まれています。誰もがこれを単純なもので包むことを気にします:

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

図書館?


1
確かにこれは+1の答えです。よく考えられたテストファイルのセットが本当にそこにあることを期待して少し待ちます。エンコーディングが他の上に構築されているなどの理由で、各エンコーディングのテストファイルが違いを引き起こすのは非常に良いことだと思います。しかし、多分私は間違っていて、それらが存在しないなどの正当な理由があります。
ファビアンバーニー

8

完全なテキストドキュメントはわかりませんが、すべての文字セットの簡単な概要から始めることができれば、ftp.unicode.orgサーバーで利用できるファイルがいくつかあります。

たとえば、WINDOWS-1252です。最初の列は16進文字の値で、2番目の列はUnicode値です。

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


+1お疲れ様でした。ファイルの非常に興味深いリソース。
ファビアンバーニー

1

さて、私はオンラインツールを使用して、LoremIpsumからテキスト文字セットを作成しました。私はそれがあなたを助けることができると信じています。1ページにすべての異なる文字セットがあるものはありません。

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


4
Lorem ipsumは、ラテン語の場合と同様に、ラテン文字のみで構成されます。これはここで求められていることではありません。ところで:repo1.maven.org/maven2/org/codeswarm/lipsum/1.0
Tomasz Nurkiewicz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.