問題タブ [widestring]
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.
c++ - ブースト テストは幅の広い文字列をサポートしていますか?
BOOST_TEST_MESSAGE(L"blah") を使用しているだけで、出力されるのは 0x12345678 などの 16 進値だけです。いくつかの構成がありませんか? ブースト1.44を使用しています。
c# - このDelphi関数をC#から呼び出す方法は?
C#からdelphi関数を呼び出すのに問題があり(保護されたメモリの読み取りまたは書き込みを試みました)、メソッドを呼び出す正しい方法を考えていました。Delphi関数のシグネチャは次のとおりです。
C#からこのメソッドを呼び出す正しい方法は何ですか?
c++ - C ++ワイド文字列をbase64に変換するにはどうすればよいですか?
ワイド文字列をbase64に変換する最良の方法は何ですか?
c - ワイドデータでのナロー文字列操作関数の使用
さまざまな言語のローカライズされた文字列を含むことができるXMLファイルを解析しています(現時点では英語とスペイン語ですが、将来的には任意の言語になる可能性があります)、XMLパーサーのAPIはXML内のすべてのデータをUTF8でエンコードされたchar*。
データが解析された後、データを操作する必要があります(データ内でサブ文字列を検索する、文字列を連結する、サブ文字列の長さを決定するなど)。
strlen、strcatなどの標準関数を使用すると便利です。XMLパーサーから受け取る生データはchar *であるため、これらの標準文字列処理関数を使用してすべての操作を簡単に行うことができます。
ただし、これらはすべて、もちろん、文字列がNULLで終了するという仮定と要件を満たしています。したがって、私の質問は、char *として表される幅の広いデータがある場合、NULLターミネータ文字をデータの最後ではなくデータ内で使用できるかどうかです。
つまり、特定の言語の文字がそれを表すのに2バイトを必要とせず、1バイトで表される場合、他のバイトはNULLになるのでしょうか。
windows - Pantheiosワイド文字?
ロギングをWindowsC++アプリケーションに統合しようとしていますが、一般的に非常に好意的なコメントがあるため、Pantheiosを使用したいと思いました。とは言うものの、含まれているすべての例は、文字列リテラルをラップするためにPANTHEIOS_LITERAL_STRINGなどのマクロを使用しており、次のようなtypedefが必要です。
typedef std::basic_string<PAN_CHAR_T> string_t;
正しくコンパイルします。これは醜いと思います。これらのtypedefは使用したくないと思います。
次に例を示します。http://www.pantheios.org/doc/html/cpp_2misc_2example_8cpp_8misc_8strings_2example_8cpp_8misc_8strings_8cpp-example.html
PANTHEIOS_USE_WIDE_STRINGSを無効にしてPantheiosをコンパイルしようとしましたが、ビルドエラーがたくさん発生します-何かアイデアはありますか?
c++ - MSVC の STL は、ワイド文字列のファイル名を持つ fstream をどのように開きますか?
重複の可能性:
非 MSVC コンパイラを使用して、Windows で Unicode ファイル名のファイルで fstream を開く
WindowsでGCCを使用して、ファイル名に非ASCII文字を含むファイルを開く簡単な方法を見つけようとしています。Microsoft の STL はクラスwstringのオーバーロードを提供しますfstreamが、`wchar_t' が明確に定義されていないため、標準 C++ は提供しません。
標準 C++ および Win32 API で、ファイル名にfstreama が指定されたときに aを開く方法を探しています。std::wstring
を取り、を模倣する独自の streambuf サブクラスを作成したくありません。関数 (またはそれが宣言されているもの)を模倣する必要があるため、奇妙な名前のファイルを問題なく開くことができます。std::wstringfstreamfstream::open(const std::wstring &)
私はすでに短い DOS 8.3 ファイル名を使用することを考えていましたが、GetShortPathName は、STL コンストラクター/open 関数では使用できないワイド文字列を取り、出力します。fstreamさまざまなコードページに変換するためのメソッドが用意されているため、おそらくワイド文字列をローカル コードページに変換すると、 ?を開くことができる正しい 8 ビット文字列が得られます。
delphi - Unicode以外のDelphiバージョンでDiacraticを使用してWideStringを作成するにはどうすればよいですか?
私は次の(テスト)を構築しようとしていますWideString:
しかし、それを分解した形で使用する:
だから私はコードフラグメントを持っています:
それが機能していないように見えることを除いて:

これはのバグである可能性MessageBoxがありますが、先に進んで、バグが私のコードにある可能性が高いと言います。
私が試した他のいくつかのバリエーション:
ボーナスおしゃべり
delphi - Delphi - プログラム内に WideString を格納する
以前は INI ファイルを使用して Unicode テキストを保存していましたが、現在は実行可能ファイルに Unicode テキストを保存する必要があります。どうすればこれを達成できますか?
これらの文字を保存したい:
string - Delphi XE2 AnsiFormat() および ANSI 文字列定数
Ansi 文字列でのみ機能する便利な Format() 関数はありますか? Format() で AnsiString を使用するたびに警告が表示されるためです。いいえ、Delphi で AnsiStrings をワイド文字列と Ansi 文字列の間で変換したくありません。それは物事を非常に遅くしているだけです。また、文字列定数を強制的に Ansi にする方法はありますか? これをチェックしてください
次に、 SomeStrFunc('ABC') を使用すると、ワイド文字列バージョンが呼び出されます。Ansi バージョンを使用して、Delphi に強制的に「ABC」定数を AnsiChars に保存させたい場合はどうすればよいでしょうか。
printf - sprintfまたはwprintfを使用してWideStringを正しくフォーマットする方法
このコードを使用してWideStringをフォーマットしていますが、成功していません。予期しない結果を出力します:(
これが私のコードです
使用するs.sprintf(L"%-11S","blablabla");と機能しますが、WideStringのmysqlフィールドタイプに設定すると機能しません!! 問題はコンバージョンにあると思います!
それを修正する方法???