Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build124
http://mevius.5ch.net/test/read.cgi/tech/1510395780/
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/
■関連スレ
Visual Studio 2019
http://mevius.5ch.net/test/read.cgi/tech/1548765663/
Visual Studio 2017 Part6
http://mevius.5ch.net/test/read.cgi/tech/1528645068/
【C++】 DirectX初心者質問スレ Part41 【C】
http://mevius.5ch.net/test/read.cgi/tech/1521786252/
探検
Win32API質問箱 Build125
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/02/27(水) 15:09:08.64ID:6ExXwgQU640デフォルトの名無しさん
2019/11/26(火) 10:49:04.39ID:LSm6MssX 一年前以上からあるオプトイン設定の話だが
641デフォルトの名無しさん
2019/11/26(火) 11:36:11.45ID:fVihpbt7 >>639
cp932使ってる古いアプリは、この設定にすると
動かなくなるだけ。つまり捨てるしか無い。
cp932を使ってる古いアプリを捨てるって話なら、
ずっと前から捨てられる。
Windows自体はコマンドプロンプトも含めて
ずっと前から完全にUnicode対応
cp932使ってる古いアプリは、この設定にすると
動かなくなるだけ。つまり捨てるしか無い。
cp932を使ってる古いアプリを捨てるって話なら、
ずっと前から捨てられる。
Windows自体はコマンドプロンプトも含めて
ずっと前から完全にUnicode対応
642デフォルトの名無しさん
2019/11/26(火) 11:45:03.56ID:fVihpbt7 「ワールドワイド言語サポートで Unicode UTF-8 を使用」をするとどうなるか?
Unicode対応のアプリ・・・設定とはとは無関係にUnicode対応
Unicode非対応のアプリ・・・
日本語アプリはcp932でないと動かない。
ASCIIしか使えないアプリはcp932でもUTF-8でも動く。
UTF-8に対応したアプリは現時点ではまず存在しない。
この設定は今後UTF-8に対応したアプリが作られたときのための設定
この設定はデフォルト値でしかないのでUTF-8にしてもchcp932相当のことをすればcp932アプリは動く
互換モードの設定でコードページを指定できるようになるかもしれないね
Unicode対応のアプリ・・・設定とはとは無関係にUnicode対応
Unicode非対応のアプリ・・・
日本語アプリはcp932でないと動かない。
ASCIIしか使えないアプリはcp932でもUTF-8でも動く。
UTF-8に対応したアプリは現時点ではまず存在しない。
この設定は今後UTF-8に対応したアプリが作られたときのための設定
この設定はデフォルト値でしかないのでUTF-8にしてもchcp932相当のことをすればcp932アプリは動く
互換モードの設定でコードページを指定できるようになるかもしれないね
643デフォルトの名無しさん
2019/11/26(火) 11:55:01.45ID:sOexhNbU コマンドプロンプトは怪しいな
644デフォルトの名無しさん
2019/11/26(火) 11:55:11.67ID:dbvsSdaZ いまだにファイルパスがユニコード対応してないアプリあるからな。氏ねと言いたくなる
645デフォルトの名無しさん
2019/11/26(火) 11:57:13.82ID:fVihpbt7646デフォルトの名無しさん
2019/11/26(火) 12:05:13.97ID:sOexhNbU chcp 65001
でバグバグになるのいつ治るの
でバグバグになるのいつ治るの
647デフォルトの名無しさん
2019/11/26(火) 12:08:00.36ID:fVihpbt7648デフォルトの名無しさん
2019/11/26(火) 12:30:13.72ID:4pvDP8OD >>641
こういう流れになってますが
ttps://twitter.com/unagix/status/1198150980317016065
動かなくなるんじゃなくて、破壊されて動かなくなるのが正解なのでは?
https://twitter.com/5chan_nel (5ch newer account)
こういう流れになってますが
ttps://twitter.com/unagix/status/1198150980317016065
動かなくなるんじゃなくて、破壊されて動かなくなるのが正解なのでは?
https://twitter.com/5chan_nel (5ch newer account)
649デフォルトの名無しさん
2019/11/26(火) 12:31:57.39ID:Yz+apKYY >>648
破壊されて動かなくなるとは、一体どこにそんな証拠があるのでしょうか?
破壊されて動かなくなるとは、一体どこにそんな証拠があるのでしょうか?
650デフォルトの名無しさん
2019/11/26(火) 12:39:10.74ID:Yz+apKYY 実際に試した人たち
https://qiita.com/obaba/items/c88c6ef833cac23bb01e
https://adatarag3.blogspot.com/2019/03/pcwindows10utf-8.html
https://chiyosuke.blogspot.com/2019/05/windowsutf-8.html
「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」から
「日本語(日本)」に戻して文字化けが直った人
https://kuronyankotan.com/?p=1596
https://qiita.com/obaba/items/c88c6ef833cac23bb01e
https://adatarag3.blogspot.com/2019/03/pcwindows10utf-8.html
https://chiyosuke.blogspot.com/2019/05/windowsutf-8.html
「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」から
「日本語(日本)」に戻して文字化けが直った人
https://kuronyankotan.com/?p=1596
651デフォルトの名無しさん
2019/11/26(火) 12:50:39.23ID:4pvDP8OD 全てのA系APIがUTF-8をI/Oするんじゃろ?
非対応アプリがテキスト系ファイルI/Oしたら死ぬのでは?
非対応アプリがテキスト系ファイルI/Oしたら死ぬのでは?
652デフォルトの名無しさん
2019/11/26(火) 13:01:13.64ID:Yz+apKYY653デフォルトの名無しさん
2019/11/26(火) 13:03:50.25ID:Yz+apKYY だいたい全てのA系APIがUTF-8をI/Oしたからって
何の問題があるんだ?
今までだってそれは、全てのA系APIがSJISとかASCIIとか
韓国や中国のなにかに変更するスイッチだっただろうと
そこにUTF-8が増えただけに過ぎない。
何の問題があるんだ?
今までだってそれは、全てのA系APIがSJISとかASCIIとか
韓国や中国のなにかに変更するスイッチだっただろうと
そこにUTF-8が増えただけに過ぎない。
654デフォルトの名無しさん
2019/11/26(火) 13:06:07.48ID:VJ34cQn0 Windows自体は昔からUTF16だと思ってたんだけど、
いつのまにかUTF8になってたの?
いつのまにかUTF8になってたの?
655デフォルトの名無しさん
2019/11/26(火) 13:08:57.76ID:njyF587z A系
656デフォルトの名無しさん
2019/11/26(火) 13:12:06.34ID:Yz+apKYY >>654
Windows NTはUTF-16だよ?
この設定はUnicodeに対応してない古いWindows 9xアプリのための
互換モード設定だから
将来的に互換モードとして使っていたこの機能をUTF-8アプリの
移植用に利用しようとか考えてるんでしょ? Linuxアプリのこともあるし。
WindowsネイティブのUnicode(UTF-16)モードとは別に
UTF-8モードが追加されたってだけの話
Windows NTはUTF-16だよ?
この設定はUnicodeに対応してない古いWindows 9xアプリのための
互換モード設定だから
将来的に互換モードとして使っていたこの機能をUTF-8アプリの
移植用に利用しようとか考えてるんでしょ? Linuxアプリのこともあるし。
WindowsネイティブのUnicode(UTF-16)モードとは別に
UTF-8モードが追加されたってだけの話
657デフォルトの名無しさん
2019/11/26(火) 13:29:27.34ID:4pvDP8OD658デフォルトの名無しさん
2019/11/26(火) 13:35:05.31ID:Yz+apKYY > A系アプリの問題の話なのに、なんでWindows自体の話になるの?
A系アプリってなんだ? A系っていうのはWindows APIのAPIの末尾のAだろ
Windows APIの話なんだからWindowsの話だろ?
Windows自体はWindows APIのW系(Unicode)を原則として使用してるが
古いアプリのためにA系のAPIも提供してる。Windows はW系を使ってるので
「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」に
したところで何の影響もない。影響があるのは古いアプリのみ
> 設定戻してもファイルは戻らんからA系アプリは死んだままになるぞ
それならデータ消せばいいだけだろ。アプリの都合なんか知るか
A系アプリってなんだ? A系っていうのはWindows APIのAPIの末尾のAだろ
Windows APIの話なんだからWindowsの話だろ?
Windows自体はWindows APIのW系(Unicode)を原則として使用してるが
古いアプリのためにA系のAPIも提供してる。Windows はW系を使ってるので
「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」に
したところで何の影響もない。影響があるのは古いアプリのみ
> 設定戻してもファイルは戻らんからA系アプリは死んだままになるぞ
それならデータ消せばいいだけだろ。アプリの都合なんか知るか
659デフォルトの名無しさん
2019/11/26(火) 13:46:31.66ID:dAEqoOXB 朝鮮人は息を吐くように嘘を吐く
660デフォルトの名無しさん
2019/11/26(火) 13:47:38.02ID:4pvDP8OD >>658
>それならデータ消せばいいだけだろ。アプリの都合なんか知るか
だからそのアプリの話を一貫してしてるんだけど?
アプリのデータを消す?
大事な既存データでも消したらOK? 馬鹿? 仕事したことない?
システムプロファイルも全て戻らないということなので、戻したら動く保証はどこにもない
何度も言うけど、A系アプリの話だからな?
例えばCの話をしてるのにJaveや.NETが今は主流だからCなんて知らん
って的外れなこと言ってるだけだお前は
>それならデータ消せばいいだけだろ。アプリの都合なんか知るか
だからそのアプリの話を一貫してしてるんだけど?
アプリのデータを消す?
大事な既存データでも消したらOK? 馬鹿? 仕事したことない?
システムプロファイルも全て戻らないということなので、戻したら動く保証はどこにもない
何度も言うけど、A系アプリの話だからな?
例えばCの話をしてるのにJaveや.NETが今は主流だからCなんて知らん
って的外れなこと言ってるだけだお前は
661デフォルトの名無しさん
2019/11/26(火) 13:55:16.74ID:Yz+apKYY >>660
何が言いたいのかわからん。
アプリが動かなくてなってもWindowsは問題なく動くだろ
SJISにしか対応してないアプリのコードページを変えてデータが壊れたって
それはアプリの動作保証外の使い方をしたからってだけで
OSのせいでもアプリのせいでもない。
データ消えたら困るなら保証外の使い方をするなよ。
バックアップぐらい取れ。
何が言いたいのかわからん。
アプリが動かなくてなってもWindowsは問題なく動くだろ
SJISにしか対応してないアプリのコードページを変えてデータが壊れたって
それはアプリの動作保証外の使い方をしたからってだけで
OSのせいでもアプリのせいでもない。
データ消えたら困るなら保証外の使い方をするなよ。
バックアップぐらい取れ。
662デフォルトの名無しさん
2019/11/26(火) 13:58:46.51ID:dAEqoOXB663デフォルトの名無しさん
2019/11/26(火) 14:08:16.07ID:dbvsSdaZ 英語圏の人間向けであって、日本人が使うオプションじゃないからな
大手のソフト含めて対応してない(設定変えるとおかしくなる)のは山ほどあるよ
大手のソフト含めて対応してない(設定変えるとおかしくなる)のは山ほどあるよ
664デフォルトの名無しさん
2019/11/26(火) 14:13:24.26ID:JyI6kWkc665デフォルトの名無しさん
2019/11/26(火) 14:17:07.29ID:4pvDP8OD >>661
なんでWindowsが動かなくなる(だったりWindowsの問題や責任)話と勘違いしてるの?
単純に設定変えたらA系アプリに問題があるねってだけの話だぞ?
的外れも甚だしいし視野が狭すぎる
過去資産を使ってるクライアントを持ってたら、この手の話には敏感になるわ
バックアップとかそういう次元の話じゃない
お前みたいなのがクライアントのサポートしたらクライアントが居なくなるレベル
なんでWindowsが動かなくなる(だったりWindowsの問題や責任)話と勘違いしてるの?
単純に設定変えたらA系アプリに問題があるねってだけの話だぞ?
的外れも甚だしいし視野が狭すぎる
過去資産を使ってるクライアントを持ってたら、この手の話には敏感になるわ
バックアップとかそういう次元の話じゃない
お前みたいなのがクライアントのサポートしたらクライアントが居なくなるレベル
666デフォルトの名無しさん
2019/11/26(火) 14:22:54.58ID:Yz+apKYY667デフォルトの名無しさん
2019/11/26(火) 14:24:20.04ID:Yz+apKYY つーか、最初っから俺が言ってるんだわ
641 自分:デフォルトの名無しさん[sage] 投稿日:2019/11/26(火) 11:36:11.45 ID:fVihpbt7 [1/4]
>>639
cp932使ってる古いアプリは、この設定にすると
動かなくなるだけ。つまり捨てるしか無い。
cp932を使ってる古いアプリを捨てるって話なら、
ずっと前から捨てられる。
Windows自体はコマンドプロンプトも含めて
ずっと前から完全にUnicode対応
641 自分:デフォルトの名無しさん[sage] 投稿日:2019/11/26(火) 11:36:11.45 ID:fVihpbt7 [1/4]
>>639
cp932使ってる古いアプリは、この設定にすると
動かなくなるだけ。つまり捨てるしか無い。
cp932を使ってる古いアプリを捨てるって話なら、
ずっと前から捨てられる。
Windows自体はコマンドプロンプトも含めて
ずっと前から完全にUnicode対応
668デフォルトの名無しさん
2019/11/26(火) 14:28:45.38ID:4pvDP8OD669デフォルトの名無しさん
2019/11/26(火) 14:29:07.54ID:dAEqoOXB ふ〜ん
Pythonで問題起きるのか
Rubyはどうなんだろ
Pythonで問題起きるのか
Rubyはどうなんだろ
670デフォルトの名無しさん
2019/11/26(火) 14:32:29.48ID:dAEqoOXB671デフォルトの名無しさん
2019/11/26(火) 14:34:38.59ID:4pvDP8OD >>667
> cp932使ってる古いアプリは、この設定にすると
> 動かなくなるだけ。つまり捨てるしか無い。
この時点で間違ってる
つーかW系A系のAPIの使い分けしたことあれば、A系の動作が変わることでどうなるのか
ってある程度予想できそうなもんだけど、なんでここまで勘違いが続けられるの?
> cp932使ってる古いアプリは、この設定にすると
> 動かなくなるだけ。つまり捨てるしか無い。
この時点で間違ってる
つーかW系A系のAPIの使い分けしたことあれば、A系の動作が変わることでどうなるのか
ってある程度予想できそうなもんだけど、なんでここまで勘違いが続けられるの?
672デフォルトの名無しさん
2019/11/26(火) 14:46:41.11ID:LSm6MssX プロファイル壊されるってゆーてるリンクの連中だけが情報量ゼロなの草
673デフォルトの名無しさん
2019/11/26(火) 14:53:48.35ID:hqQvrruW 結局W系で作るしかないんだから余計なことは考えなくていいよ
674デフォルトの名無しさん
2019/11/26(火) 14:54:37.98ID:ogXaluX+ fopen()の振る舞いで困るかも。Win32のfopen()はutf8を特別扱いするから。
675デフォルトの名無しさん
2019/11/26(火) 14:56:55.82ID:dAEqoOXB レジストリの読み書きも気になるな
676デフォルトの名無しさん
2019/11/26(火) 15:01:36.94ID:JyI6kWkc677蟻人間 ◆T6xkBnTXz7B0
2019/11/26(火) 15:25:37.49ID:SWHzOLKZ MultiByteToWideChar/WideCharToMultiByteの第一引数にシフトJISコードページ932を指定しないといけないらしい。CP_ACPだと死ぬ。
678デフォルトの名無しさん
2019/11/26(火) 15:33:53.01ID:Yz+apKYY679蟻人間 ◆T6xkBnTXz7B0
2019/11/26(火) 15:37:00.29ID:SWHzOLKZ シフトJISテキストファイルにUTF-8テキストが混ざったら、そりゃ文字化けするでしょう。
680デフォルトの名無しさん
2019/11/26(火) 15:56:07.44ID:9NQ9wJPH681デフォルトの名無しさん
2019/11/26(火) 16:01:44.16ID:Yz+apKYY コードページを変えると文字化けするだろうね
それだけの話。別に動かなくなるわけじゃない。
コードページをもとに戻せば動く
壊れたデータは直せばいいだけ
それだけの話。別に動かなくなるわけじゃない。
コードページをもとに戻せば動く
壊れたデータは直せばいいだけ
682デフォルトの名無しさん
2019/11/26(火) 16:02:07.57ID:ogXaluX+ main()に渡される引数文字列argvどうなります?
683デフォルトの名無しさん
2019/11/26(火) 16:23:03.19ID:9NQ9wJPH 自前で先行バイト検出しながら文字列書き換えるような関数とか如何すんのよ
684デフォルトの名無しさん
2019/11/26(火) 16:23:44.61ID:H048FZbZ >>682
Unicode非対応アプリのmainだとして、
Unicode対応アプリ(からUnicode APIを使って)呼び出せば、引数全てがUTF-16からUTF-8に変換されてから
呼び出される。Unicode非対応アプリから呼び出せば、渡した文字列(バイト列)がそのまま渡される。
そこは今までと変わらない。今までもUnicode対応アプリから呼び出せば、設定されたコードページ(例えばcp932)に
変換されて呼び出される。違いはUTF-16からUTF-8だと変換できない文字がないので文字化けは一切発生しない。
なお、渡されたからと言ってアプリが正しくその文字列を扱えるかどうかは別の話
結局の所cp932専用で作られたアプリは完全に同じようには動かない。(ASCIIの範囲でなら問題ないだろう)
Unicode非対応アプリのmainだとして、
Unicode対応アプリ(からUnicode APIを使って)呼び出せば、引数全てがUTF-16からUTF-8に変換されてから
呼び出される。Unicode非対応アプリから呼び出せば、渡した文字列(バイト列)がそのまま渡される。
そこは今までと変わらない。今までもUnicode対応アプリから呼び出せば、設定されたコードページ(例えばcp932)に
変換されて呼び出される。違いはUTF-16からUTF-8だと変換できない文字がないので文字化けは一切発生しない。
なお、渡されたからと言ってアプリが正しくその文字列を扱えるかどうかは別の話
結局の所cp932専用で作られたアプリは完全に同じようには動かない。(ASCIIの範囲でなら問題ないだろう)
685デフォルトの名無しさん
2019/11/26(火) 16:25:08.09ID:H048FZbZ686デフォルトの名無しさん
2019/11/26(火) 16:25:51.97ID:H048FZbZ あと、システムプロファイルとか意味不明。
何の話をしてるのかわからないレベル。
何の話をしてるのかわからないレベル。
687デフォルトの名無しさん
2019/11/26(火) 16:30:59.10ID:H048FZbZ ちなみにUnicodeから非Unicodeへの変換は変換できない文字があるから一部文字化けするが、
非UnicodeからUnicodeへの変換では文字化けすることはない。
だから、cp932を扱えるアプリがcp932でレジストリ(UTF-16)に書き込んでも
適切に変換が行われるし、そのアプリがUTF-8を使えるなら、それもレジストリに書き込んでも壊れたりしない。
例えばアプリ(cp932)から レジストリ(UTF-16)に書き込んで、
レジストリ(UTF-16)を アプリ(UTF-8)から参照することは問題なくできるということ
非UnicodeからUnicodeへの変換では文字化けすることはない。
だから、cp932を扱えるアプリがcp932でレジストリ(UTF-16)に書き込んでも
適切に変換が行われるし、そのアプリがUTF-8を使えるなら、それもレジストリに書き込んでも壊れたりしない。
例えばアプリ(cp932)から レジストリ(UTF-16)に書き込んで、
レジストリ(UTF-16)を アプリ(UTF-8)から参照することは問題なくできるということ
688デフォルトの名無しさん
2019/11/26(火) 16:32:48.14ID:9NQ9wJPH689デフォルトの名無しさん
2019/11/26(火) 16:32:49.98ID:H048FZbZ もちろんレジストリ(UTF-16)をアプリ(cp932)で参照したときは扱えない文字列があるが、
それはファイル名(UTF-16)をアプリ(cp932)で扱えない文字があるという程度の話でしか無い。
それはファイル名(UTF-16)をアプリ(cp932)で扱えない文字があるという程度の話でしか無い。
690デフォルトの名無しさん
2019/11/26(火) 16:35:04.40ID:ogXaluX+ マルチバイト文字を含むファイルパスが鬼門でしょ。
691デフォルトの名無しさん
2019/11/26(火) 16:38:45.15ID:H048FZbZ >>688
お前は意味がわかるように書き込め
> 非対応じゃ無くWとAはちゃんと使い分けがなされてるんだよ
どういう使い分けがされてるのか書け
> オーバーロード関数なら引数がWCHAR *がCHAR *で問題なく動く
それって引数がWCHAR *ならW系が使われて、引数がCHAR *ならA系が使われるってだけだろ
> そこにUTF-8とかねじ込まれても困るわ
そこにってどこよ?何が困るんだよ。
UTF-8はCHAR*を使うって理解してるか?
今までA系はASCIIだけでなくSJISや多数の文字コードで使われていたというのに
UTF-8が増えたごときで何も困らんだろ
お前は意味がわかるように書き込め
> 非対応じゃ無くWとAはちゃんと使い分けがなされてるんだよ
どういう使い分けがされてるのか書け
> オーバーロード関数なら引数がWCHAR *がCHAR *で問題なく動く
それって引数がWCHAR *ならW系が使われて、引数がCHAR *ならA系が使われるってだけだろ
> そこにUTF-8とかねじ込まれても困るわ
そこにってどこよ?何が困るんだよ。
UTF-8はCHAR*を使うって理解してるか?
今までA系はASCIIだけでなくSJISや多数の文字コードで使われていたというのに
UTF-8が増えたごときで何も困らんだろ
692デフォルトの名無しさん
2019/11/26(火) 16:41:18.53ID:H048FZbZ693デフォルトの名無しさん
2019/11/26(火) 16:56:51.07ID:ogXaluX+ バッチファイルは厄介。あればだが。
694デフォルトの名無しさん
2019/11/26(火) 16:59:13.07ID:JyI6kWkc >>684
UTF8アプリなんて存在するんだっけ?
UTF8アプリなんて存在するんだっけ?
695デフォルトの名無しさん
2019/11/26(火) 17:02:23.79ID:9NQ9wJPH >>691
たとえUnicodeに対応しているプログラムであっても何らかの出力ファイルをSJISで出力するような構造だと、
それを勝手にUTF-8に書き換えられたら次読み込んだ時滅茶苦茶になるだろ
一般的なテキストエディタも勝手に文字コード変えるような事はせんからな
たとえUnicodeに対応しているプログラムであっても何らかの出力ファイルをSJISで出力するような構造だと、
それを勝手にUTF-8に書き換えられたら次読み込んだ時滅茶苦茶になるだろ
一般的なテキストエディタも勝手に文字コード変えるような事はせんからな
696デフォルトの名無しさん
2019/11/26(火) 17:12:43.83ID:H048FZbZ >>694
まずないだろうね。作れるようになったのは最近だし。
念ために言っておくけど、ないっていうのは
Unicode対応アプリではない(=A系APIを使う)かつASCII文字としてUTF-8を使うアプリのことね。
UTF-8はUnicodeだろというツッコミはいらん。
WindowsにおいてUnicode対応とはUTF-16アプリのこと
最近Unicode非対応の古いアプリでもUTF-8が使えるようになったから、
古いアプリをUTF-8用として作り直して新しくすることでA系のまま
Unicode対応にできるとかいうジョークのような話w
それするぐらいなら最初からUnicode対応として.NETとかで作りますわ。
完全に将来のLinuxアプリなどの移植用。多分最終的にマニフェストとかで
このアプリはUTF-8アプリですって指定できるようになるんじゃない?
まずないだろうね。作れるようになったのは最近だし。
念ために言っておくけど、ないっていうのは
Unicode対応アプリではない(=A系APIを使う)かつASCII文字としてUTF-8を使うアプリのことね。
UTF-8はUnicodeだろというツッコミはいらん。
WindowsにおいてUnicode対応とはUTF-16アプリのこと
最近Unicode非対応の古いアプリでもUTF-8が使えるようになったから、
古いアプリをUTF-8用として作り直して新しくすることでA系のまま
Unicode対応にできるとかいうジョークのような話w
それするぐらいなら最初からUnicode対応として.NETとかで作りますわ。
完全に将来のLinuxアプリなどの移植用。多分最終的にマニフェストとかで
このアプリはUTF-8アプリですって指定できるようになるんじゃない?
697デフォルトの名無しさん
2019/11/26(火) 17:13:45.02ID:H048FZbZ698デフォルトの名無しさん
2019/11/26(火) 17:14:18.74ID:H048FZbZ 結論を書け結論を。お前がいいたいこが何かを書け。
699デフォルトの名無しさん
2019/11/26(火) 17:16:25.46ID:9NQ9wJPH700デフォルトの名無しさん
2019/11/26(火) 17:44:52.60ID:H048FZbZ >>698
勝手に変えてない。お前は馬鹿なのか?
勝手に変えてない。お前は馬鹿なのか?
701デフォルトの名無しさん
2019/11/26(火) 17:48:56.90ID:FXTOqUMb クッソ伸びてて草
MBSCなソフトがA系APIでデータ読み書きしてたら非対応のUTF8に書き換わってて、
以降データが文字化けしたまま困ることになるんだから、元に戻せばOKとか非対応なんだから
仕方ないとか、こればかりは擁護不可能の的外れ
表示だけの問題じゃなく記録データにも影響があって、こいつばかりは復元ソフトでも組まないと戻せない
MBSCなソフトは使えないだけならば、単純にA系APIを廃止すればいいだけなんだが
MSはお節介にもどうにかして過去資産を活かしてやろうってことでA系の挙動を変える選択肢を
用意したって点だけ見ても、単純に非対応とか元に戻せばいいというような話ではない
年末にお父ちゃんから、古い宛名印刷ソフトのデータが壊れたって連絡が来るかも知れないくらいには、
時と場合によっては取り返しが付かない
今のところデフォでこの切り替えは無効だが、将来もしかしたら〜というのが現時点でのキモだろう
MBSCなソフトがA系APIでデータ読み書きしてたら非対応のUTF8に書き換わってて、
以降データが文字化けしたまま困ることになるんだから、元に戻せばOKとか非対応なんだから
仕方ないとか、こればかりは擁護不可能の的外れ
表示だけの問題じゃなく記録データにも影響があって、こいつばかりは復元ソフトでも組まないと戻せない
MBSCなソフトは使えないだけならば、単純にA系APIを廃止すればいいだけなんだが
MSはお節介にもどうにかして過去資産を活かしてやろうってことでA系の挙動を変える選択肢を
用意したって点だけ見ても、単純に非対応とか元に戻せばいいというような話ではない
年末にお父ちゃんから、古い宛名印刷ソフトのデータが壊れたって連絡が来るかも知れないくらいには、
時と場合によっては取り返しが付かない
今のところデフォでこの切り替えは無効だが、将来もしかしたら〜というのが現時点でのキモだろう
702デフォルトの名無しさん
2019/11/26(火) 17:59:10.05ID:4DbW4sNm703デフォルトの名無しさん
2019/11/26(火) 18:00:34.44ID:4DbW4sNm704デフォルトの名無しさん
2019/11/26(火) 18:02:42.72ID:4DbW4sNm もしかしてこいつは、ユーザーが設定変更しなくても
アップデートで勝手にUTF-8に変わるとか思ってるのか?
ならものすごくマヌケだw
アップデートで勝手にUTF-8に変わるとか思ってるのか?
ならものすごくマヌケだw
705デフォルトの名無しさん
2019/11/26(火) 18:12:52.84ID:FXTOqUMb あー、アホが一人混じってるから伸びてるのか
把握
把握
706デフォルトの名無しさん
2019/11/26(火) 18:18:38.91ID:4DbW4sNm 今度はレスしなかったところを見ると図星だったか
707デフォルトの名無しさん
2019/11/26(火) 18:39:40.59ID:9NQ9wJPH708デフォルトの名無しさん
2019/11/26(火) 18:49:29.78ID:4DbW4sNm 本当にアホだったな。ユーザーが意図的に変えない限り変わらないってのに
709デフォルトの名無しさん
2019/11/26(火) 18:55:32.97ID:FXTOqUMb710デフォルトの名無しさん
2019/11/26(火) 18:55:56.87ID:4DbW4sNm しかもエアプなんだろうな。
>>638は古い情報で、
そもそも「ベータ: ワールドワイド言語サポートで Unicode UTF-8 を使用」の設定と
『メモ帳の文字コードと全く関係ない』話だってのもわかってないんだろう
『当時』はたまたまそこの設定がデフォルトになっていただけで、
今は常にUTF-8(BOMなし)
メモ帳は古いアプリでもなんでも無いしな
で、メモ帳が保存するテキストファイルの文字コードと
古いアプリの挙動も全く関係ない話。そんなの考えるまでもなくわかること
こいつずっとテキストファイルのデフォルトの文字コードと
APIの話をごっちゃにしてたのかよ
完全に素人だ
>>638は古い情報で、
そもそも「ベータ: ワールドワイド言語サポートで Unicode UTF-8 を使用」の設定と
『メモ帳の文字コードと全く関係ない』話だってのもわかってないんだろう
『当時』はたまたまそこの設定がデフォルトになっていただけで、
今は常にUTF-8(BOMなし)
メモ帳は古いアプリでもなんでも無いしな
で、メモ帳が保存するテキストファイルの文字コードと
古いアプリの挙動も全く関係ない話。そんなの考えるまでもなくわかること
こいつずっとテキストファイルのデフォルトの文字コードと
APIの話をごっちゃにしてたのかよ
完全に素人だ
711デフォルトの名無しさん
2019/11/26(火) 18:58:15.43ID:9NQ9wJPH712デフォルトの名無しさん
2019/11/26(火) 18:58:43.20ID:4DbW4sNm713デフォルトの名無しさん
2019/11/26(火) 19:05:03.16ID:4pvDP8OD はい、論点誤魔化してきたね
未だに文字化けする程度の認識しかしてないから、話するだけ無駄だと思うよ
メモ帳とか連呼の定義とか持ちだしてきてもう意味不明
そもそもWinAPIのプログラムも組んだことないの丸わかりだから、キチガイに付き合うだけ損
未だに文字化けする程度の認識しかしてないから、話するだけ無駄だと思うよ
メモ帳とか連呼の定義とか持ちだしてきてもう意味不明
そもそもWinAPIのプログラムも組んだことないの丸わかりだから、キチガイに付き合うだけ損
714デフォルトの名無しさん
2019/11/26(火) 19:05:29.42ID:dbvsSdaZ 例えば標準入力から文字列を受け取ってテキストファイルに追加書き込みする実行ファイル
そんなの使ってたら、ファイル前半はシフトJIS、後半はUTF8になって、どっちでも読めなくなる
これは極端な例だけど同じようなことはそこら中で起こりえる
そんなの使ってたら、ファイル前半はシフトJIS、後半はUTF8になって、どっちでも読めなくなる
これは極端な例だけど同じようなことはそこら中で起こりえる
715デフォルトの名無しさん
2019/11/26(火) 19:05:45.18ID:FXTOqUMb メモ帳・・・・?
ヤベえなこいつ
ヤベえなこいつ
716デフォルトの名無しさん
2019/11/26(火) 19:09:39.48ID:s8aO6zrT だんだん論点ずれてきてるやん
717デフォルトの名無しさん
2019/11/26(火) 19:09:52.88ID:4pvDP8OD718デフォルトの名無しさん
2019/11/26(火) 19:11:27.01ID:4DbW4sNm はぁ、リンク先も読んでないのかよ
>>638のリンク先読めよ・・・
https://twitter.com/MurakamiShinyu/status/994781934407553024
> 今までデフォルトでShift JISだったもの(メモ帳をはじめ…)が
> この設定をすると「メモ帳」の「名前を付けて保存」で「文字コード: ANSI」
> (デフォルト)だとBOM無しのUTF-8、「文字コード: UTF-8」だと
> BOM付きのUTF-8のファイルになります。
↑注意 これは古い話で今は当てはまらない
https://twitter.com/5chan_nel (5ch newer account)
>>638のリンク先読めよ・・・
https://twitter.com/MurakamiShinyu/status/994781934407553024
> 今までデフォルトでShift JISだったもの(メモ帳をはじめ…)が
> この設定をすると「メモ帳」の「名前を付けて保存」で「文字コード: ANSI」
> (デフォルト)だとBOM無しのUTF-8、「文字コード: UTF-8」だと
> BOM付きのUTF-8のファイルになります。
↑注意 これは古い話で今は当てはまらない
https://twitter.com/5chan_nel (5ch newer account)
719デフォルトの名無しさん
2019/11/26(火) 19:12:17.71ID:4DbW4sNm720デフォルトの名無しさん
2019/11/26(火) 19:17:08.27ID:4DbW4sNm ちなみに
> 標準入力から文字列を受け取ってテキストファイルに追加書き込みする実行ファイル
これはコードページとは何の関係もない。
当たり前だがSJISで出力してるアプリは、
コードページをどう変更しようが、SJISで出力される。
「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」に
チェックを入れたところで、SJISで出力してるアプリが
UTF-8で出力するように変わることはない。
> 標準入力から文字列を受け取ってテキストファイルに追加書き込みする実行ファイル
これはコードページとは何の関係もない。
当たり前だがSJISで出力してるアプリは、
コードページをどう変更しようが、SJISで出力される。
「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」に
チェックを入れたところで、SJISで出力してるアプリが
UTF-8で出力するように変わることはない。
721デフォルトの名無しさん
2019/11/26(火) 19:18:48.31ID:9NQ9wJPH 設定変更しなければ良い、ってのは利用者の目線で開発者の発想ではないわな
>>658
>A系アプリってなんだ? A系っていうのはWindows APIのAPIの末尾のAだろ
>Windows APIの話なんだからWindowsの話だろ?
win32api には同じ api 関数に対して A 系と W 系の二つの異なった関数が準備されているんです
A 系の A は ansi の A で、こいつは主にファイルパスに Shift-JIS/cp932 を使うのに対して W 系はファイルパスに utf-16LE を使います
>A系アプリってなんだ? A系っていうのはWindows APIのAPIの末尾のAだろ
>Windows APIの話なんだからWindowsの話だろ?
win32api には同じ api 関数に対して A 系と W 系の二つの異なった関数が準備されているんです
A 系の A は ansi の A で、こいつは主にファイルパスに Shift-JIS/cp932 を使うのに対して W 系はファイルパスに utf-16LE を使います
>>674
win32api に fopen は存在しません、CreateHandle ならば存在しますが
win32api に fopen は存在しません、CreateHandle ならば存在しますが
724デフォルトの名無しさん
2019/11/26(火) 19:21:22.69ID:4DbW4sNm もちろん、「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」
の設定(コードページ)を見て、アプリ内部でその文字コードに変換して
出力するように作られてるアプリは別な。
あくまでA系APIを使ってるアプリの話
SJIS前提で作られてるアプリは、SJISでしか出力しません。
ただしAPIがUTF-8前提として処理するのでASCII以外だと
出力がおかしくなります。
の設定(コードページ)を見て、アプリ内部でその文字コードに変換して
出力するように作られてるアプリは別な。
あくまでA系APIを使ってるアプリの話
SJIS前提で作られてるアプリは、SJISでしか出力しません。
ただしAPIがUTF-8前提として処理するのでASCII以外だと
出力がおかしくなります。
725デフォルトの名無しさん
2019/11/26(火) 19:22:46.52ID:4DbW4sNm >>722
> A 系の A は ansi の A で、こいつは主にファイルパスに Shift-JIS/cp932 を使うのに対して W 系はファイルパスに utf-16LE を使います
うんしってる。そして新設された「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」
というのは、A系を使ってASCII互換のUTF-8を使えるようになる機能です。
> A 系の A は ansi の A で、こいつは主にファイルパスに Shift-JIS/cp932 を使うのに対して W 系はファイルパスに utf-16LE を使います
うんしってる。そして新設された「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」
というのは、A系を使ってASCII互換のUTF-8を使えるようになる機能です。
>>725
thanks!
thanks!
728デフォルトの名無しさん
2019/11/26(火) 19:25:39.71ID:4pvDP8OD >>718
>>648読んでる?
> すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。
>>719
> その話は当たり前で、LinuxでもmacOSでも同じことになると
> さんざん言ってる
今回のWinの設定がなんで他のOSを例に挙げるの?しかもWin32APIの話なのに、どういう関係があるのか?
>>720
> 当たり前だがSJISで出力してるアプリは、
> コードページをどう変更しようが、SJISで出力される。
君は、
> すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。
これ自体がウソだって言ってるんだね?
ダラダラ連投せずに、そう書けば?
>>648読んでる?
> すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。
>>719
> その話は当たり前で、LinuxでもmacOSでも同じことになると
> さんざん言ってる
今回のWinの設定がなんで他のOSを例に挙げるの?しかもWin32APIの話なのに、どういう関係があるのか?
>>720
> 当たり前だがSJISで出力してるアプリは、
> コードページをどう変更しようが、SJISで出力される。
君は、
> すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。
これ自体がウソだって言ってるんだね?
ダラダラ連投せずに、そう書けば?
729デフォルトの名無しさん
2019/11/26(火) 19:26:51.40ID:4DbW4sNm >>728
> 今回のWinの設定がなんで他のOSを例に挙げるの?しかもWin32APIの話なのに、どういう関係があるのか?
だから他のOSでも起きる、SJISのファイルにUTF-8で書き込むと壊れるという話を
ごちゃまぜにするなと言ってる。
それはWin32APIと関係ない話だと言ってるだけ
> 今回のWinの設定がなんで他のOSを例に挙げるの?しかもWin32APIの話なのに、どういう関係があるのか?
だから他のOSでも起きる、SJISのファイルにUTF-8で書き込むと壊れるという話を
ごちゃまぜにするなと言ってる。
それはWin32APIと関係ない話だと言ってるだけ
730デフォルトの名無しさん
2019/11/26(火) 19:32:03.78ID:4pvDP8OD >>729
> SJISのファイルにUTF-8で書き込むと壊れるという話を
なぜそのようなことが起こるのか、どういうきっかけで起こるのか、影響範囲はどうなっているのか、
A系APIの挙動が変わるからだ
という話なだけでしょうが
他のOSを例に出す意味がない
君の主張は、APIの挙動は変わらないということなんだね?
要点をまとめなよ
> SJISのファイルにUTF-8で書き込むと壊れるという話を
なぜそのようなことが起こるのか、どういうきっかけで起こるのか、影響範囲はどうなっているのか、
A系APIの挙動が変わるからだ
という話なだけでしょうが
他のOSを例に出す意味がない
君の主張は、APIの挙動は変わらないということなんだね?
要点をまとめなよ
731デフォルトの名無しさん
2019/11/26(火) 19:36:44.09ID:4DbW4sNm >>728
> すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。
「ダウト」なのの1つ目は「半端ねぇ」の部分。
A系APIは昔から、コードページの設定をみてそのコードページの文字コードを
前提として処理している。昔から当たり前のことで今更驚くことじゃない。
英語ならASCIIを前提として処理するし、日本語に設定すればSJISを前提として
処理するするようになるし、韓国語や中国語にすれば、その国文字コードを前提して処理する。
20年以上そういう機能だった。
そしてもう一つはI/Oするって所。APIが設定に応じた文字コードを前提とするだけで別にI/Oするわけじゃない。
どの文字コードを使うかはアプリによる。SJIS専用のアプリはSJISしかI/Oしない。
UTF-8を前提としてる状態でSJISを流すとおかしくなるというだけで、
それらのAPIがUTF-8でI/Oするように変わるわけじゃない。
(エラーメッセージとかはSJISのリソースを使うようになるが、
これはAPIが変換してるわけじゃなくコードページに応じたリソースに変えてるだけ)
> すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。
「ダウト」なのの1つ目は「半端ねぇ」の部分。
A系APIは昔から、コードページの設定をみてそのコードページの文字コードを
前提として処理している。昔から当たり前のことで今更驚くことじゃない。
英語ならASCIIを前提として処理するし、日本語に設定すればSJISを前提として
処理するするようになるし、韓国語や中国語にすれば、その国文字コードを前提して処理する。
20年以上そういう機能だった。
そしてもう一つはI/Oするって所。APIが設定に応じた文字コードを前提とするだけで別にI/Oするわけじゃない。
どの文字コードを使うかはアプリによる。SJIS専用のアプリはSJISしかI/Oしない。
UTF-8を前提としてる状態でSJISを流すとおかしくなるというだけで、
それらのAPIがUTF-8でI/Oするように変わるわけじゃない。
(エラーメッセージとかはSJISのリソースを使うようになるが、
これはAPIが変換してるわけじゃなくコードページに応じたリソースに変えてるだけ)
732デフォルトの名無しさん
2019/11/26(火) 19:40:06.72ID:4DbW4sNm >>730
要点 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」の設定によるAPIの挙動と
アプリが入出力する文字コード(ファイル等を含む)は関係は一切ない
アプリが入出力する文字コードはアプリの実装によって決まる。
(Win32 APIと関係ないから、他のOSも同じという話につながる)
要点 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」の設定によるAPIの挙動と
アプリが入出力する文字コード(ファイル等を含む)は関係は一切ない
アプリが入出力する文字コードはアプリの実装によって決まる。
(Win32 APIと関係ないから、他のOSも同じという話につながる)
733デフォルトの名無しさん
2019/11/26(火) 20:15:32.91ID:9NQ9wJPH APIの挙動変るのはやっぱヤベーな
iniから文字列を取り出す >UTF-8
今まで通りSJISだと決めてかかって独自関数でパスの分解などをすると滅茶苦茶になるって話やん
これを利用したディレクトリトラバーサルとかも可能なんじゃね?
iniから文字列を取り出す >UTF-8
今まで通りSJISだと決めてかかって独自関数でパスの分解などをすると滅茶苦茶になるって話やん
これを利用したディレクトリトラバーサルとかも可能なんじゃね?
734デフォルトの名無しさん
2019/11/26(火) 21:07:20.59ID:Qm31cF9G まずは公式ドキュメントを読め
話はそれからだ
Visual C++ のテキストと文字列
https://docs.microsoft.com/ja-jp/cpp/text/text-and-strings-in-visual-cpp
話はそれからだ
Visual C++ のテキストと文字列
https://docs.microsoft.com/ja-jp/cpp/text/text-and-strings-in-visual-cpp
>>734
VC のドキュメントがなんの役に立つ?
VC のドキュメントがなんの役に立つ?
736デフォルトの名無しさん
2019/11/26(火) 22:34:01.39ID:JUtzLycC 他のソースはないかな。
βとはいえMSが単なるロケールの追加じゃなくてそんな過激なスイッチを導入しようとする意図がよくわからん。
βとはいえMSが単なるロケールの追加じゃなくてそんな過激なスイッチを導入しようとする意図がよくわからん。
737デフォルトの名無しさん
2019/11/26(火) 23:00:16.55ID:dbvsSdaZ 英語圏だと切り替えても英語入出力だけするなら何も変わらないしメリットの方が多い
日本語圏じゃデメリットしかないがw
日本語圏じゃデメリットしかないがw
738デフォルトの名無しさん
2019/11/26(火) 23:01:00.12ID:JyI6kWkc >>719
> その話は当たり前で、
本当?
SJISアプリをUTF-8アプリとして動作させるんだぜ?
printf("あほまぬけ\n"); こんなアプリがあったときに、
設定前と設定後で出てくる文字コードが違うんだぜ?
Linuxでそんなことが起こるかよ。
> その話は当たり前で、
本当?
SJISアプリをUTF-8アプリとして動作させるんだぜ?
printf("あほまぬけ\n"); こんなアプリがあったときに、
設定前と設定後で出てくる文字コードが違うんだぜ?
Linuxでそんなことが起こるかよ。
739デフォルトの名無しさん
2019/11/26(火) 23:03:08.88ID:JyI6kWkc■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- オマエら女に飽きただろ
- BTSのバラエティ面白すぎワロタ
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
