0

一部の Web アプリのローカライズされたコンテンツを保存するために resx ファイルを使用しています。これらのリソース ファイルの値に非 UTF-8 コンテンツが含まれているかどうかを確認するためのテスト メカニズムを作成するように依頼されました。

resx ファイルは、ヘッダーで UTF-8 エンコードされていることを指定する XML ファイルです。だから私の質問は(おそらく明らかであるかばかげているかもしれませんが)、誰かがUTF-8以外の文字列をリソースファイルの値に追加できますか?

いくつかの文字列のエンコーディングを取得する方法を既に検索しましたが、防弾方法がないため、作成するように求められたテストが必要か可能かどうかはわかりません...

編集 明確にするために、テストはローカライズされたアプリ内で実行する必要があり、文字列が有効な UTF-8 でない場合は、デフォルト (ローカライズされた) 値を表示します。

4

1 に答える 1

0

ある程度、はい。プレーンな ASCII テキストを問題なく保存できます。

その外?あなたの最善の策は、そのためのテストを書くことです。コードでいくつかの非 UTF8 文字列を定義し、それらを .resx ファイルに保存して (ResxRescourceWriter簡単にするために使用)、元に戻します。それらを画面に出力して、一致するかどうかを確認します。

もちろん、resx ファイルのエンコーディングを変更することも可能です。その場合、その形式でエンコードされた文字列を保存できます。

あなたの最善の策は、何が起こるかを試してみることです。

編集:コメント内の説明に基づいています。

既存の値を確認する必要がある場合は、resx ファイルを反復処理して、すべてのテキストを .txt ファイルにダンプするのが最善の方法です。

そのファイルを Notepad++ で開くと、UTF-8 エンコーディングを指定できます。読みやすく表示されないものはすべて UTF-8 テキストではなく、resx から取得したときに正しく表示されません。

于 2013-04-09T21:00:20.993 に答える