問題タブ [utf-16]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
25619 参照

php - PHP で utf-8 文字列を utf-16 文字列に変換する方法

PHPでutf-8文字列をutf-16文字列に変換するにはどうすればよいですか?

0 投票する
5 に答える
27317 参照

string - UTF8 対 UTF16 対 char* 対何? 誰かこの混乱を説明してくれ!

私はこのマルチバイト文字をほとんどすべて無視することができましたが、今は UI 作業を行う必要があり、この分野での私の無知が私に追いつくことを知っています! アプリケーションをローカライズするために知っておくべきことを、数段落以内で説明してくれる人はいますか? どのタイプを使用する必要がありますか (.Net と C/C++ の両方を使用しており、Unix と Windows の両方でこの回答が必要です)。

0 投票する
6 に答える
10242 参照

c++ - バイナリモードでutf16をファイルに書き込む

バイナリモードで ofstream を使用して wstring をファイルに書き込もうとしていますが、何か間違っていると思います。これは私が試したことです:

たとえば Firefox でエンコードを UTF16 に設定して test.txt を開くと、次のように表示されます。

h�e�l�l�o�</p>

なぜこれが起こるのか誰か教えてもらえますか?

編集:

16進エディタでファイルを開くと、次のようになります。

何らかの理由で、すべての文字の間に 2 バイト余分に入っているように見えますか?

0 投票する
5 に答える
5488 参照

c - UNICODE_STRING から Null で終了

UNICODE_STRING 構造を単純な NULL TERMINATED STRING に変換する必要があります。

それについてMSDNできれいな解決策が見つかりません。行ったことある人いますか?私は .net を使用していないので、ネイティブ API ソリューションが必要です。

どうもありがとう!

0 投票する
6 に答える
33647 参照

windows - UTF-16 から UTF-8 への変換 (Windows でのスクリプト作成用)

UTF-16 ファイルを UTF-8 に変換する最良の方法は何ですか? これをcmdスクリプトで使用する必要があります。

0 投票する
5 に答える
34773 参照

c++ - Unicode 文字列を utf-8 または utf-16 文字列に変換する方法は?

Unicode 文字列を utf-8 または utf-16 文字列に変換する方法は? 私のVS2005プロジェクトはUnicode文字セットを使用していますが、cppのsqliteは提供しています

フォルダを開くため。文字列、CString、または wstring を UTF-8 または UTF-16 文字セットに変換するにはどうすればよいですか?

どうもありがとう!

0 投票する
8 に答える
5340 参照

delphi - Delphi で文字列に余分なメモリがあるのはなぜですか?

サイズが 24 MB (1 行あたり平均 17 文字) の 140 万行の大きなテキスト ファイルを読み込んでいます。

私は Delphi 2009 を使用しており、ファイルは ANSI ですが、読み取り時に Unicode に変換されるため、変換後のテキストのサイズは 48 MB であると言えます。

(編集:もっと簡単な例を見つけました...)

このテキストを単純な StringList にロードしています。

私は、データ行が 48 MB よりも多くのメモリを必要とするように見えることを発見しました。

実際、155 MB のメモリを使用しています。

Delphi が 48 MB または 60 MB を使用していても、メモリ管理のオーバーヘッドを考慮して問題ありません。しかし、155 MB は過剰に思えます。

これは StringList の障害ではありません。以前に行をレコード構造にロードしようとしましたが、同じ結果 (160 MB) が得られました。

Delphi または FastMM メモリ マネージャが、文字列を格納するために必要なメモリ量の 3 倍の量を使用する原因が何なのか、私にはわかりません。ヒープ割り当てはそれほど非効率的ではありませんよね?

私はこれをデバッグし、できる限り調査しました。なぜこれが起こっているのかについてのアイデア、または過剰な使用を減らすのに役立つアイデアは大歓迎です.

注: この「小さい」ファイルを例として使用しています。私は実際に 320 MB のファイルをロードしようとしていますが、Delphi は 2 GB を超える RAM を要求しており、この過剰な文字列要件のためにメモリが不足しています。

補遺: Marco Cantu が、Delphi と Unicode に関するホワイト ペーパーを発表しました。Delphi 2009 では、文字列あたりのオーバーヘッドが 8 バイトから 12 バイトに増加しました (さらに、文字列への実際のポインタの場合はさらに 4 バイト)。17x2 = 34 バイト ラインごとに 16 バイトが追加されると、ほぼ 50% が追加されます。しかし、オーバーヘッドが 200% を超えています。余分な 150% は何になるでしょうか?


成功!!皆様のご提案に感謝いたします。みなさん、考えさせられました。しかし、彼が尋ねたので、私は Jan Goyvaerts に答えを与えなければなりません:

...なぜ TStringList を使用しているのですか? ファイルは本当に別の行としてメモリに格納する必要がありますか?

その結果、24 MB のファイルを 140 万行の StringList としてロードする代わりに、プログラムが認識している自然なグループに行をグループ化できるという解決策にたどり着きました。そのため、127,000 行が文字列リストに読み込まれました。

現在、各行の平均文字数は 17 文字ではなく 190 文字です。StringList 行ごとのオーバーヘッドは同じですが、行数が大幅に少なくなりました。

これを 320 MB のファイルに適用すると、メモリが不足することはなくなり、1 GB 未満の RAM にロードされるようになりました。(そして、読み込みに約10秒しかかかりません。これはかなり良いです!)

グループ化された行を解析するために少し余分な処理が必要になりますが、各グループのリアルタイム処理では目立たないはずです。

(念のために言っておきますが、これは家系図プログラムであり、32 ビット アドレス空間に約 100 万人のすべてのデータを 30 秒以内にロードできるようにするために必要な最後のステップかもしれません。インデックスをデータに追加するための 20 秒のバッファがまだあります。これは、データの表示と編集を可能にするために必要です。)

0 投票する
1 に答える
20092 参照

actionscript-3 - ActionScript 3 の通常の文字列を Latin-1 文字コードの ByteArray に変換する方法はありますか?

文字列を UTF-16 でエンコードされた文字の byteArray に変換する際に問題はありませんが、通信しようとしている (Erlang で記述された) アプリケーションは Latin-1 エンコードしか認識しません。Actionscript 3 内の文字列から Latin-1 文字コードでいっぱいの byteArray を生成する方法はありますか?

0 投票する
7 に答える
16079 参照

unicode - findstr or grep that autodetects chararacter encoding (UTF-16)

I want to do this:

or the grep equivalent

but I need the utility to autodetect files encoded in UTF-16 (and friends) and search them appropriately. My files even have the byte-ordering mark FFEE in them so I'm not even looking for heroic autodetection.

Any suggestions?


I'm referring to Windows Vista and XP.

0 投票する
8 に答える
32802 参照

xml - UTF8データをExcelにエクスポートする最良の方法は何ですか?

つまり、UTF8データをサポートするこのWebアプリがあります。HoorayUTF8。また、ユーザーが入力したデータを問題なくCSVにエクスポートできます。その時点ではまだUTF8のままです。問題は、Excelで一般的なUTF8 CSVを開くと、ANSIIでエンコードされたテキストとして読み取られ、したがって、øやüなどの2バイト文字を2つの別々の文字として読み取ろうとして、失敗することです。

だから私は少し掘り下げました(インターバルの人々はここにそれについて興味深い投稿があります)、そしてそこにばかばかしいほど迷惑なオプションがいくつかあります。その中で:

  • Excelが正しく解釈するが、複数行のデータをサポートしないUTF-16リトルエンディアンTSVファイルを提供する
  • Excelのmimeタイプまたはファイル拡張子を使用してHTMLテーブルのデータを提供する(このオプションがUTF8をサポートしているかどうかは不明)
  • XMLデータをExcelのさまざまな最近のバージョンに取り込むには、3つまたは4つの方法があり、理論的には、それらはUTF8をサポートします。SpreadsheetML、カスタムXSLTを使用、またはテンプレートを使用して新しいExcelXML形式を生成します。

とにかく、Excelで使用していない人のために、昔ながらのCSVファイルと、Excel用の別のダウンロードオプションを提供し続けたいと思います。

親愛なるStackOverflowersであるUTF8を正しくサポートするJust-For-Excelファイルを生成する最も簡単な方法は何ですか?その最も単純なオプションが最新バージョンのExcelのみをサポートしている場合でも、それは興味深いことです。

私はこれをRailsスタックで行っていますが、.Net-ersやフレームワークの人々がこれをどのように処理するのか興味があります。私はいくつかの異なる環境で働いていますが、これは間違いなく再び発生する問題です。

更新2010-10-22:この質問を最初に投稿したとき、タイムトラッキングシステムTempoでRuport gemを使用して、CSVエクスポートを提供していました。私の同僚の1人であるErikHollensbeeは、Ruport用のクイックフィルターを一緒に使用して、実際のExcel XSL出力を提供しました。これを、他のルビー主義者のためにここで共有したいと思いました。