問題タブ [multibyte]

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 に答える
8295 参照

utf-8 - マルチバイト文字を UTF-8 に変換する

私のアプリケーションは、swf ファイルによって読み取られる XML ファイルにデータを書き込む必要があります。swf は、XML 内のデータが UTF-8 エンコーディングであることを想定しています。アプリの一部のマルチバイト文字 (簡体字中国語、日本語、韓国語など) を UTF-8 に変換する必要があります。これを可能にする API 呼び出しはありますか?サードパーティの DLL は使用したくありません。私は Windows と Mac の両方でそれを行う必要があり、利用可能な場合はシステム API を優先します。

ありがとうjbsp72

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

c++ - コードを使用して文字セットをマルチバイトに設定する

コードで文字セットをマルチバイトに設定する方法はありますか。つまり、コンパイラのプロパティにアクセスして設定することはありません。私はそれを意味します...コードで。:p

0 投票する
11 に答える
3650 参照

php - 文を別々の単語に分割する

0 投票する
4 に答える
705 参照

c - マルチバイト文字列のユニコード wstring への変換に関する高速な実装はありますか?

サーバー側でメッセージフィルターモードを実行するために Aho-Corasick アルゴリズムを採用した私のプロジェクトでは、サーバーが取得したメッセージはマルチバイト文字の文字列です。しかし、いくつかのテストの後、ボトルネックはマルチバイト文字列とユニコード wstring の間の変換であることがわかりました。私が今使っているのは mbstowcs_s と wcstombs_s のペアで、モード全体の 95% 近くの時間コストがかかります。また、MultiByteToWideChar/WideCharToMultiByte を試してみましたが、同じ結果が得られました。だから、仕事をするためのもっと効率的な方法が他にあるのだろうか?私のプロジェクトは VS2005 でビルドされており、変換された文字列には中国語の文字が含まれます。どうもありがとう。

0 投票する
4 に答える
4667 参照

php - マルチバイト文字列をn文字に切り捨てます

文字列フィルターでこのメソッドを機能させようとしています:

私はこれを期待します

そしてこれも

それは文字列$charsの文字を引いたもの$terminatorです。

さらに、フィルターは$chars制限を下回る最初の単語の境界でカットすることになっています。

私はこれがこれらのステップでうまくいくはずだとかなり確信しています

  • 最大文字数からターミネータの文字数を差し引く
  • 文字列が計算された制限よりも長いことを検証するか、変更せずに返します
  • 計算された制限を下回る文字列の最後のスペース文字を見つけて、単語の境界を取得します
  • 最後のスペースで文字列をカットするか、最後のスペースが見つからない場合は計算された制限
  • 文字列にターミネータを追加
  • 文字列を返す

しかし、私は今、str*mb_*関数のさまざまな組み合わせを試しましたが、すべて間違った結果になりました。これはそれほど難しいことではないので、私は明らかに何かが欠けています。誰かがこのための実用的な実装を共有するか、それとも私が最終的にそれを行う方法を理解できるリソースを私に教えてくれますか?

ありがとう

PSはい、前にhttps://stackoverflow.com/search?q=truncate+string+phpをチェックしました:)

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

c - Unicodeとマルチバイト

私はこのユニコードとマルチバイトのことで本当に混乱しています。

プログラムをUnicodeでコンパイルしているとしましょう(ただし、最終的には、使用する文字セットに依存しないソリューションが必要です)。

1)すべての「char」はワイド文字として解釈されますか?

2)単純なprintfステートメント、つまりprintf( "Hello World \ n");がある場合。文字列がない場合、_tprintfと_T( "...")を使用せずにそのままにしておくことはできますか?printfステートメントに文字列が含まれている場合は、_tprintfと_T( "...")、つまり_tprintf( "Hello%s \ n"、name);を使用する必要があります。?

3)バッファに読み込みたいテキストファイル(デフォルトの形式で保存されている、つまり使用されているデフォルトの文字セットを変更しない)がある場合でも、TCHARの代わりにcharを使用できますか?特に私がそれを文字ごとに読んでいる場合、つまり文字ポインタをインクリメントすることによって?

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

よろしく、レイン

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

c++ - ANSI から Unicode への変換

Visual Studio .NET 2003 を使用しており、純粋な ANSI 文字で記述されたプログラムを変換して、Unicode/マルチバイト文字から独立させようとしています。

このプログラムには、「got_packet」と呼ばれる pcap_loop のコールバック関数があります。それは次のように定義されています

ただし、エラーメッセージが表示されます

これを修正するにはどうすればよいですか?

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

.net - .NETのより大きなコレクション内で一連の値(具体的にはバイト)を見つける方法

特定のバイトシーケンスが識別された後にのみデータを取得するように、ファイルからバイトを解析する必要があります。たとえば、シーケンスが単純に0xFF(1バイト)の場合、コレクションでLINQを使用できます。

しかし、マルチバイトシーケンス(たとえば、0xFF、0xFF)を検出するための洗練された方法はありますか?特に、誤検知の一致が発生し始めた場合にバックトラックする方法はありますか?

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

c++ - c++: ワイド文字の ascii 値を取得する

「äa」のような文字配列があるとしましょう。マルチバイトである最初の文字の ascii 値 (たとえば 228) を取得する方法はありますか? 配列を wchar_t * 配列にキャストしても、「ä」の ascii 値を取得できません。2 バイトの長さです。これを行う方法はありますか、私は今2日間試しています:(

私はgccを使用しています。

ありがとう!

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

php - ユニコード/マルチバイト文字列用の strtolower()

ページに英語以外/外国語のテキストがありますが、小文字にしようとすると、文字がクエスチョン マークを含む黒いひし形に変換されます。

文字セットをメタタグに設定しましたが、これで修正されませんでした。

文字列を壊さずに小文字に変換するにはどうすればよいですか?