2

私は、 JavaScriptを入力として受け取り、そのJavaScriptの圧縮バージョンを出力として作成するパーサーを開発してきました。

最初に、入力JavaScriptを読み込もうとしたときにパーサーが失敗したことがわかりました。これは、 VisualStudio2008がデフォルトでファイルをUTF-8として保存するという事実と関係があると思います。そして、そうするとき、VSはUTF-8ファイルの先頭にいくつかの隠し文字を含めます。

回避策として、VisualStudioを使用してファイルをコードページ1252として保存しました。そうすると、パーサーは入力JavaScriptを読み取ることができました。

アクセントを含む特別なヨーロッパ文字を使用する必要があることに注意してください。

だから、ここに私の質問があります:

  1. コードページ1252またはUTF-8を使用する必要がありますか?
  2. Visual StudioがデフォルトでファイルをUTF-8として保存するのはなぜですか?
  3. ファイルを1252として保存することを選択した場合、問題が発生しますか?
  4. Eclipseはデフォルトでファイルをコードページ1252として保存しているように見えます。それは正しいですか?
4

5 に答える 5

9

UTF-8 は、既知のすべての文字を実際にサポートするため、より適切なオプションですが、1252 を使用すると、必要な文字が不足する可能性があります (ヨーロッパ言語であっても)。

どうやら、VS2008 は UTF-8 をバイト オーダー マークで保存するようです。これをオフにするか、パーサーに認識させるか、またはその間のどこかで BOM を取り除くことができるはずです。

于 2009-06-14T09:44:35.570 に答える
3

utf-8 には、ファイルの先頭にバイト オーダー マーク (BOM) 署名があり、一部のエディターは明らかにライブラリを理解していません... http://en.wikipedia.org/wiki/Byte-order_mark

それを回避できるのであれば、今日ではどうしても UTF-8 が好まれます。そのパーサーに JS コードを渡す前に BOM の最初のバイトを削除してみてください。

1252 ではこの問題は発生せず、問題は発生しませんが、Web を古い形式で出力することになります。今日はそうしません。過去には Web で多くのエンコードの混乱がありました。さまざまな言語の iso と win のコードページを使用...

于 2009-06-14T09:46:02.773 に答える
1

1252 を使用すると問題が発生しますか?

アプリが動作する必要がある国によって異なります

私の頭の上から、1252 (または ISO 8859-1) が動作します

  • イギリス
  • ドイツ
  • スイス
  • オーストリア
  • イタリア
  • フランス
  • オランダ
  • アイスランド
  • スペイン

ああ、ウィキペディアにはより包括的なリストがあります: http://en.wikipedia.org/wiki/ISO/IEC_8859-1

したがって、アプリが上記の国/言語でのみ使用されている場合は、CP 1252 を使用できます。

于 2009-06-14T10:19:05.893 に答える
1

UTF-8 を使用します。1252 はヨーロッパ全体をカバーしていないため、一部の国 (中央ヨーロッパ) では、1250 を使用する必要があります。より正確には、iso 8859-2 です。したがって、唯一の実際のオプションは UTF-8 です。

于 2009-06-14T09:56:56.773 に答える
0

BOMはファイルの先頭にありました。私見では、utf8を使用する必要があります。これは、最近では非常に最新です。

于 2009-06-14T09:46:38.857 に答える