問題タブ [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 に答える
3862 参照

php - PHP - UTF-16 から UTF-8 (hex) への変換

PHP を使用し て UTF-16
U+610F
スタイルの文字を UTF-8 (16 進数)に変換することは可能ですか?
E6848F

UTF-8 文字は「意」です

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

c++ - utf8 と utf16 の変換

たとえば、L"hao123--我的上网主页" のような wchar_t 文字列があります。これを utf8 に変換できます。

エンコーディングすると、出力文字列は「hao123锛嶏紞鎴戠殑涓婄綉涓婚〉」となりますが、最後にこれを書かなければなりません

文字列をプレーンテキストファイルに変換します。その形式は utf16 (他の人から知っています)、「hao123\uFF0D\uFF0D\u6211\u7684\u4E0A\u7F51\u4E3B\u9875」です。

C++ std 文字列で保存してからファイルに書き込む必要があるため、どうすれば変換できますか

"hao123锛嶏紞鎴戠殑涓婄綉涓婚〉" から "hao123\uFF0D\uFF0D\u6211\u7684\u4E0A\u7F51\u4E3B\u9875" へ char または C++ std 文字列 ?

誰でもヒントを教えてもらえますか?

前もって感謝します!

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

c++ - C++ ユニコード UTF-16 エンコーディング

L"hao123--我的上网主页" というワイド文字列があり、"hao123--\u6211\u7684\u4E0A\u7F51\u4E3B\u9875" にエンコードする必要があります。エンコードされた文字列は、Unicode UTF-16 コード ポイントをエンコードするための特別な「%uNNNN」形式であると言われました。このWebサイトでは、JavaScriptエスケープであることがわかります。しかし、C++でエンコードする方法がわかりません。

これを機能させるためのライブラリはありますか?またはヒントを教えてください。

ありがとう、友よ!

0 投票する
3 に答える
26820 参照

string - UTF-8 文字列を UnicodeString に格納する

Delphi 2007 では、UTF-8 文字列を WideString に格納し、それを Win32 関数に渡すことができます。

Delphi 2007 は、UTF8Str の内容に干渉しません。つまり、WideString に格納された UTF-8 でエンコードされた文字列として残されます。

しかし、Delphi 2010 では、同じことを行う方法を見つけるのに苦労しています。つまり、UTF-8 から自動的に変換されずに、UTF-8 でエンコードされた文字列を WideString に格納します。UTF-8 文字列 (または RawByteString) へのポインターを渡すことができません。たとえば、次のようなものは明らかに機能しません。

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

php - PHPutfエンコーディングの問題

PHPでUTF-16BE形式の文字列をエンコードするにはどうすればよいですか?「デモメッセージ!!!」エンコードされた文字列は「00440065006D006F0020004D00650073007300610067006」である必要があります。また、アラビア文字をこの形式にエンコードする必要があります。

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

vb.net - 非ASCII文字を含む文字列リテラルを定義するにはどうすればよいですか?

Visual Studio 2008を使用してVB.NETでプログラミングしています。Chr(247)と同等の文字「÷」を含む文字列リテラルを定義する必要があります。内部的にVSがUTF-16エンコーディングを使用していることは理解していますが、ソースファイルがディスクに書き込まれると、この文字の1バイト値F7が含まれます。

このソースファイルは、デフォルトでUTF-8エンコーディングを使用する別のプログラムによって処理されるため、この文字を正しく解釈できず、次の1バイト文字と組み合わせようとします。どのエンコーディングが単一バイトF7を単一文字÷として正しく解釈しますか?

あるいは、ある種のエスケープシーケンスを使用するように、ASCII文字のみを使用する非ASCIIリテラルを表現する方法はありますか?

0 投票する
9 に答える
67566 参照

c - Windows および Linux で C 言語で UTF-16 を UTF-8 に変換する

文字列を UTF-16LE から UTF-8 に変換する目的で、Windows と Linux の「クロス」方法が推奨されているかどうか疑問に思っていました。または、環境ごとに異なる方法を使用する必要がありますか?

'iconv' へのいくつかの参照をググることができましたが、いくつかの理由から、wchar_t UTF-16 を UTF-8 に変換するなどの基本的な変換のサンプルを見つけることができません。

誰でも「クロス」する方法を推奨できます。参照またはサンプル付きのガイドを知っている場合は、非常に感謝します。

ありがとう、ドリーバー

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

java - Java、JavaCC: BMP 外の文字を解析するには?

XML 1.1仕様を参照しています。

の定義を見てくださいNameStartChar:

NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]

これを正しく解釈すると、最後の範囲 ( ) はJava の型のUTF16 範囲#x10000-#xEFFFFを超えています。だからそれはUTF32でなければなりませんよね?では、単一の sではなく、この範囲に対してのペアをチェックする必要がありますよね?charcharchar

私の質問は次のとおりです。

  • 標準の Java メソッドを使用して、このような文字範囲を確認するにはどうすればよいですか?
  • JavaCCでそのような範囲を定義するにはどうすればよいですか?
    • JavaCC は\u10000\uEFFFF

ありがとうございました!

注: 心配しないでください。私は独自の XML パーサーを作成しようとしているわけではありません。
編集: パーサーを作成しています。パーサーは、さまざまな (非 XML) テキスト形式からのテキスト入力が有効な XML 名と一致するかどうかをチェックします。

0 投票する
3 に答える
13361 参照

perl - バイトオーダーがわからない場合、Perl で UTF-16 データをデコードするにはどうすればよいですか?

ファイルを開いた場合 (そしてエンコーディングを直接指定した場合):

ファイルの内容をうまく読み取ることができます。しかし、もしそうなら:

次のエラーが表示されます。

どうすればそれを動作させることができdecodeますか?

編集:ここに最初の数バイトがあります:

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

python - Python:UTF16デコードにより、Windowsボックスに新しい空白行が追加されます

Windowsと*nixプラットフォームの改行が余分にあるという問題が発生しています。

このコードをMacで実行すると、余分な改行なしでファイルが返されます。これまでに試しました:

  1. 正規表現をファイルをデコードする代わりにutf-16としてエンコードすると、WindowsとOSXで機能しなくなります。

  2. 「w+」の代わりに「wb」モードで書き込む-Windowsでは中断します。

何か案は?