[過去ログ] C++相談室 part164 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
388: (ワッチョイ 06f2-HE4y) 2023/07/01(土)20:10 ID:XU86fDmw0(2/2) AAS
>>387
最近までは、-A API がレガシと見なされていました。
これは、何十年もの間、Windows が "Unicode" -W バリアントを推進していたためです。
しかし、最近のリリースの Windows では、ANSI コード ページと -A API を活用し、
新しい SKU で UTF-8 サポートを導入しています。 ANSI コード ページが
UTF-8 に対して構成されている場合、-A API は UTF-8 で動作します。
389: 蟻人間◆T6xkBnTXz7B0 (スフッ Sd02-Ojup) 2023/07/01(土)20:13 ID:6ckc7dLGd(1/2) AAS
>>387
以前からCP_ACPは日本語環境でシフトJISを扱えたはず。CP_ACPの解釈をCP_UTF8にすることができる設定と見なせる。
390
(1): (ブーイモ MM8e-44el) 2023/07/01(土)20:43 ID:B2exONcuM(1) AAS
ASCIIしか考えてないアメリカ人の作ったプログラムでもUTF-8ならそれなりに動くよね
strlenが正確な文字数を返してくれるわけではないけども
391
(2): 蟻人間◆T6xkBnTXz7B0 (スフッ Sd02-Ojup) 2023/07/01(土)20:55 ID:6ckc7dLGd(2/2) AAS
WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定すればUTF-8な環境でも動く。
392: (ワッチョイ 7f28-iz2R) 2023/07/01(土)23:06 ID:5I1AeY3j0(1) AAS
そうなの?
ただ単に変換APIの第一引数に明示的にシフトJISのコードページ932を指定しただけだと
とりわけWideCharToMultiByte()の場合、文字コードの自動判別が介在する余地もなく、
ウィンドーズ内部表現のUTF-16がシフトJISのコードページ932に(指定通りに)変換されるだけなんじゃないの……

M$のページ見たら
>マニフェストの ActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました。
>マニフェストの ActiveCodePage プロパティを使って
と書いてあった
マニフェストファイル変えたら中で何がどう切り替わるのかわ皆目わからんが、
ただ単に変換APIの第一引数に明示的にシフトJISのコードページ932を指定したら万事OKというよりは得心が行く
393
(1): (ワッチョイ 06f2-HE4y) 2023/07/02(日)00:11 ID:26TSX02F0(1) AAS
そういう話じゃない
〜A系のAPIの文字列引数にUTF8が使えるようになったという話だ
394: (ワッチョイ ce9a-EKe4) 2023/07/02(日)00:28 ID:MfIRncIE0(1/3) AAS
>>390
>strlenが正確な文字数を返してくれるわけではないけども
そもそも正確な文字数が必要な局面って?
そもそもUnicodeにおける「文字」って
395: (ラクッペペ MM8e-J/Sn) 2023/07/02(日)00:43 ID:B6PMzb/YM(1) AAS
A系ならstrlen、W系ならlstrlen使えば済む話では?
396
(2): (ワッチョイ ce9a-EKe4) 2023/07/02(日)01:40 ID:MfIRncIE0(2/3) AAS
>>377
Unicode自体と同様、文句もあるけど世界中が規格化標準化されるのはやはり
有益な面があるなあと思ったり
言語を完全に知らなくてもそういう規則に従えばまあまあのものが出来る
そうやって自分もRTLなテキストを処理するコードを書いたことがあるし
日本語を(も)扱うコードだってどこかの外人が書いてるわけで

そうだ、日本語だって戦前はRTL。あれ、英語はどうしてたんだろ.... 敵性言語だから
ないことになってたのかなw

そういえば、テキストだけじゃなくてUIのレイアウトも変わるし、テキストのスクロール
方向とかも変わるし、注意が必要だったり
397: (ワッチョイ cb02-ctHD) 2023/07/02(日)04:10 ID:3Rb9PhMu0(1/2) AAS
Visual C++してもいいでしょうか?
特定の既定のライブラリの無視に「LIBCMT.lib」を設定して
マルチスレッド使っても大丈夫でしょうか?
もちろんランタイムライブラリの設定はマルチスレッドにしてます。
これでマルチスレッド使っても大丈夫でしょうか?
398: 0397 (ワッチョイ cb02-ctHD) 2023/07/02(日)04:46 ID:3Rb9PhMu0(2/2) AAS
ごめんなさい。自己解決しました。
399
(1): (ワッチョイ 7f28-iz2R) 2023/07/02(日)08:22 ID:cqAPSm8d0(1/4) AAS
>>393
何言ってるかわからんkwsk
過去にCreateFile(L"漢字.txt", ...)で作ったファイルを、
WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定するだけで
CreateFileA(u8"漢字.txt", ...)で開けるようになったとしたら論理鉄器におかしい希ガス
400: (ワッチョイ c2fb-PY2F) 2023/07/02(日)10:08 ID:idCQJgQa0(1) AAS
環境依存の文字コードを取り扱うA系の関数でコードページ65001(UTF8)をサポートしたという話か?

「最近のリリースのWindows」とやらが何年ごろの話か知らんが
401: (オイコラミネオ MMe7-hRAP) 2023/07/02(日)10:21 ID:FpcWXL3uM(1) AAS
親切な人がいて上の方に書いてある
402: (ワッチョイ 7f28-iz2R) 2023/07/02(日)11:09 ID:cqAPSm8d0(2/4) AAS
書いて無くね↑?
403
(1): (スププ Sd02-+VJx) 2023/07/02(日)11:52 ID:R6FnNIs/d(1) AAS
>>396
英文モールスや和文モールス信号(符号)は戦前からあるから参考になるよ

みごとに被ってるから
404
(1): (アウアウウー Sabb-hiKC) 2023/07/02(日)11:59 ID:BV1CApnra(1/2) AAS
>>399
お舞の方が何言ってるかワカラン
>過去にCreateFile(L"漢字.txt", ...)で作ったファイルを、
>WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定するだけで
>CreateFileA(u8"漢字.txt", ...)で開けるようになったとしたら論理鉄器におかしい希ガス

CreateFile と WideCharToMultiByte/MultiByteToWideChar には何の関係も無いぞ
どちらかといえば setlocale/systemlocale とかの話してるなら判らんでもないが
405: (ワッチョイ 7f28-iz2R) 2023/07/02(日)12:09 ID:cqAPSm8d0(3/4) AAS
>>404
>>391
406: (ワッチョイ 7f28-iz2R) 2023/07/02(日)12:12 ID:cqAPSm8d0(4/4) AAS
んまーもちついて>>391を読めば
>UTF-8な環境でも
というのがActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました環境(>>386
の意味なら分からなくも無いorz
407: (ワッチョイ ce9a-EKe4) 2023/07/02(日)14:25 ID:MfIRncIE0(3/3) AAS
>>403
>>396はエンコーディングの仕方の話ではないんですよね

疑問の答えはここにあった(と思う)
画像リンク[jpg]:upload.wikimedia.org
1-
あと 595 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s