2011-01-10 7 views
0

私はいくつかのxxx_fr.properties、xxx_en.propertiesなどのファイルにつまづいています。これらのファイルにはhtmlエンティティと\uxxxxエスケープが含まれているため、少し驚いています。プロパティファイルの u ....とhtmlエンティティの両方を使用していますか?

これらのリソースがHTMLを待っているものに配信されている限り、HTMLエンティティは問題ありませんが、\uxxxxはエスケープしますか?

Javaでは、.propertiesファイル内で\uxxxxエスケープが問題ないと指定していますか?

答えて

4

はい - キーと要素で

文字は が文字 と文字列リテラルのために使用されるものと同様のエスケープシーケンス で表すことができると述べている、load(Reader)ためdocumentationを参照してください。その後、

とは

つだけ 'U' の文字はUnicodeエスケープシーケンスで許可されていることを明確にしています。

したがって、単一の 'u'文字を含むUnicodeエスケープシーケンスが確実にサポートされています。

HTMLエンティティの読み込み時に特別なことは何もないことに注意してください。たとえば、文字列&はJava内では5文字を含む文字列として見えます。あなたが指摘しているように、後で別のコンポーネントに出力された場合、これは特別な方法で解釈されるかもしれません。

一方、エスケープシーケンス\u0061は、Java内では単一文字文字列 'a'として認識され、代わりにその文字を含むファイルと区別できません。

3

\ u型エスケープは、Unicode文字を表す標準的なJavaの方法です。 Java Internationalization FAQでそれについて読むことができます。 「プロパティファイルで非ASCII文字列を指定するにはどうすればよいですか?質問あなたが最も興味を持っている一つである:

http://java.sun.com/javase/technologies/core/basic/intl/faq.jsp#properties-escape

そして、それが唯一の関連するプロパティはありません。典型的なJavaコードでもそれらを使用することができます。

http://java.sun.com/javase/technologies/core/basic/intl/faq.jsp#core-textrep

+0

Minicki:1と感謝たくさんのテキスト表現のブロックを参照してください。私は* .java *ファイルでエスケープすることを知っていました。私が驚いたのはそれがプロパティです。 – Gugussee

+0

Minicki:5つの質問のうち3つを受け入れました。私の質問は最近のものです。どのように低いですか? ;) – Gugussee

+0

@ Gugussee:私の執筆時点では20%でした。しかし、私はあなたのためにちょっと振る舞いと言った。何恨みっこない。それを簡単に、G :) –

関連する問題