C言語なら俺に聞け 163 (987レス)
上下前次1-新
抽出解除 レス栞
889(1): デフォルトの名無しさん [sage] 2025/07/02(水) 06:16:59.91 ID:5Jo8M0S90(1) AAS
内部表現がUTF16LEであって、表面上はシステムで設定した文字コードってだけの話だよ
日本語環境だとデフォルトS-JISだったのをWindows10の途中からutf-8にした(ユーザ側で変更は可能)
メモ帳もデフォルトがutf-8になった
クリップボード上のテキストはアプリケーションがクリップボードにデータを預ける
その預けるデータ形式に読み取り側が対応していないと機能しないと言うだけ
シンプルなテキスト形式ならCF_TEXTがANSIでCF_UNICODETEXTがUTF16LEになる
CF_TEXTにしか対応していないか、両方対応しているけどANSI優先させてしまっている場合(ないと思うが)になら環境依存文字が文字化けすることもある
891: デフォルトの名無しさん (ワッチョイ 7f7b-4xcB) [sage] 2025/07/02(水) 08:13:07.97 ID:pWg0Xl5Z0(1) AAS
>>889
了解した。
API見る限り、一つのクリップボードに複数のデータ形式を登録でき、しかも自動変換まで行ってくれるのだから、
CF_UNICODETEXTだけ対応しておけば文字化けはほぼ無くなるので、彼が糞アプリ具合にキレたのも分かった。
> システムは、特定のクリップボード形式間でデータを暗黙的に変換します。
> ウィンドウがクリップボードにない形式でデータを要求した場合、システムは使用可能な形式を要求された形式に変換します。
> https://learn.microsoft.com/ja-jp/windows/win32/dataxchg/clipboard-formats
> クリップボードの形式 変換形式
> (中略)
> CF_TEXT CF_UNICODETEXT
> (中略)
> CF_UNICODETEXT CF_TEXT
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.617s*