- 1 名前:デフォルトの名無しさん [2019/02/27(水) 15:09:08.64 ID:6ExXwgQU.net]
- Win32APIについての質問はこちらへどうぞ。
■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで ■過去スレ Win32API質問箱 Build124 mevius.5ch.net/test/read.cgi/tech/1510395780/ Win32API質問箱 Build123 mevius.2ch.net/test/read.cgi/tech/1475897582/ Win32API質問箱 Build122 echo.2ch.net/test/read.cgi/tech/1451988219/ Win32API質問箱 Build121 echo.2ch.net/test/read.cgi/tech/1438695290/ Win32API質問箱 Build120 echo.2ch.net/test/read.cgi/tech/1428570962/ ■関連スレ Visual Studio 2019 mevius.5ch.net/test/read.cgi/tech/1548765663/ Visual Studio 2017 Part6 mevius.5ch.net/test/read.cgi/tech/1528645068/ 【C++】 DirectX初心者質問スレ Part41 【C】 mevius.5ch.net/test/read.cgi/tech/1521786252/
- 654 名前:デフォルトの名無しさん [2019/11/26(火) 11:55:01.45 ID:sOexhNbU.net]
- コマンドプロンプトは怪しいな
- 655 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 11:55:11.67 ID:dbvsSdaZ.net]
- いまだにファイルパスがユニコード対応してないアプリあるからな。氏ねと言いたくなる
- 656 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 11:57:13.82 ID:fVihpbt7.net]
- >>643
コマンドプロンプトはUnicode対応だよ cp932の状態でもdirでUnicodeのファイル名表示できてるじゃん
- 657 名前:デフォルトの名無しさん [2019/11/26(火) 12:05:13.97 ID:sOexhNbU.net]
- chcp 65001
でバグバグになるのいつ治るの
- 658 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:08:00.36 ID:fVihpbt7.net]
- >>646
表示が崩れる問題なら直ってる。 動作自体なら以前から問題なく動いている。
- 659 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:30:13.72 ID:4pvDP8OD.net]
- >>641
こういう流れになってますが ttps://twitter.com/unagix/status/1198150980317016065 動かなくなるんじゃなくて、破壊されて動かなくなるのが正解なのでは? (deleted an unsolicited ad)
- 660 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:31:57.39 ID:Yz+apKYY.net]
- >>648
破壊されて動かなくなるとは、一体どこにそんな証拠があるのでしょうか?
- 661 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:39:10.74 ID:Yz+apKYY.net]
- 実際に試した人たち
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
- 662 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:50:39.23 ID:4pvDP8OD.net]
- 全てのA系APIがUTF-8をI/Oするんじゃろ?
非対応アプリがテキスト系ファイルI/Oしたら死ぬのでは?
- 663 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:01:13.64 ID:Yz+apKYY.net]
- >>651
WindowsはUnicode対応なので関係ない話 非対応アプリが動かなくなるだけ
- 664 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:03:50.25 ID:Yz+apKYY.net]
- だいたい全てのA系APIがUTF-8をI/Oしたからって
何の問題があるんだ? 今までだってそれは、全てのA系APIがSJISとかASCIIとか 韓国や中国のなにかに変更するスイッチだっただろうと そこにUTF-8が増えただけに過ぎない。
- 665 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:06:07.48 ID:VJ34cQn0.net]
- Windows自体は昔からUTF16だと思ってたんだけど、
いつのまにかUTF8になってたの?
- 666 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:08:57.76 ID:njyF587z.net]
- A系
- 667 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:12:06.34 ID:Yz+apKYY.net]
- >>654
Windows NTはUTF-16だよ? この設定はUnicodeに対応してない古いWindows 9xアプリのための 互換モード設定だから 将来的に互換モードとして使っていたこの機能をUTF-8アプリの 移植用に利用しようとか考えてるんでしょ? Linuxアプリのこともあるし。 WindowsネイティブのUnicode(UTF-16)モードとは別に UTF-8モードが追加されたってだけの話
- 668 名前:デフォルトの名無しさん [2019/11/26(火) 13:29:27 ID:4pvDP8OD.net]
- >>652-653
>>651 A系アプリの問題の話なのに、なんでWindows自体の話になるの? てか、>651のみならずリンク元の流れすら読んでない感じ? まあ実際俺も試したわけじゃないけど、書いてることが事実だとすると 設定戻してもファイルは戻らんからA系アプリは死んだままになるぞ
- 669 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:35:05 ID:Yz+apKYY.net]
- > A系アプリの問題の話なのに、なんでWindows自体の話になるの?
A系アプリってなんだ? A系っていうのはWindows APIのAPIの末尾のAだろ Windows APIの話なんだからWindowsの話だろ? Windows自体はWindows APIのW系(Unicode)を原則として使用してるが 古いアプリのためにA系のAPIも提供してる。Windows はW系を使ってるので 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」に したところで何の影響もない。影響があるのは古いアプリのみ > 設定戻してもファイルは戻らんからA系アプリは死んだままになるぞ それならデータ消せばいいだけだろ。アプリの都合なんか知るか
- 670 名前:デフォルトの名無しさん [2019/11/26(火) 13:46:31 ID:dAEqoOXB.net]
- 朝鮮人は息を吐くように嘘を吐く
- 671 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:47:38 ID:4pvDP8OD.net]
- >>658
>それならデータ消せばいいだけだろ。アプリの都合なんか知るか だからそのアプリの話を一貫してしてるんだけど? アプリのデータを消す? 大事な既存データでも消したらOK? 馬鹿? 仕事したことない? システムプロファイルも全て戻らないということなので、戻したら動く保証はどこにもない 何度も言うけど、A系アプリの話だからな? 例えばCの話をしてるのにJaveや.NETが今は主流だからCなんて知らん って的外れなこと言ってるだけだお前は
- 672 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:55:16 ID:Yz+apKYY.net]
- >>660
何が言いたいのかわからん。 アプリが動かなくてなってもWindowsは問題なく動くだろ SJISにしか対応してないアプリのコードページを変えてデータが壊れたって それはアプリの動作保証外の使い方をしたからってだけで OSのせいでもアプリのせいでもない。 データ消えたら困るなら保証外の使い方をするなよ。 バックアップぐらい取れ。
- 673 名前:デフォルトの名無しさん [2019/11/26(火) 13:58:46 ID:dAEqoOXB.net]
- 役に立つ人柱はここか
https://chiyosuke.blogspot.com/2019/05/windowsutf-8.html https://srad.jp/story/17/11/14/0640253/
- 674 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:08:16 ID:dbvsSdaZ.net]
- 英語圏の人間向けであって、日本人が使うオプションじゃないからな
大手のソフト含めて対応してない(設定変えるとおかしくなる)のは山ほどあるよ
- 675 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:13:24 ID:JyI6kWkc.net]
- >>660
君はちょっと落ち着け >>648の内容はシステムの設定を元に戻せないという話であって アプリの話じゃないだろ そして >大事な既存データでも消したらOK? 馬鹿? 仕事したことない? だったらβの機能なんか使うなよ、で終わりだよ βじゃなくなるときに、キレイに全部戻せるようになってるか、 SJISアプリは切り捨てますって発表があるかのどっちかだろ
- 676 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:17:07 ID:4pvDP8OD.net]
- >>661
なんでWindowsが動かなくなる(だったりWindowsの問題や責任)話と勘違いしてるの? 単純に設定変えたらA系アプリに問題があるねってだけの話だぞ? 的外れも甚だしいし視野が狭すぎる 過去資産を使ってるクライアントを持ってたら、この手の話には敏感になるわ バックアップとかそういう次元の話じゃない お前みたいなのがクライアントのサポートしたらクライアントが居なくなるレベル
- 677 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:22:54.58 ID:Yz+apKYY.net]
- >>665
だから何が言いたいんだよ。 cp932前提の古いアプリはUTF-8で動きませんって 当たり前の話なだけだろ
- 678 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:24:20.04 ID:Yz+apKYY.net]
- つーか、最初っから俺が言ってるんだわ
641 自分:デフォルトの名無しさん[sage] 投稿日:2019/11/26(火) 11:36:11.45 ID:fVihpbt7 [1/4] >>639 cp932使ってる古いアプリは、この設定にすると 動かなくなるだけ。つまり捨てるしか無い。 cp932を使ってる古いアプリを捨てるって話なら、 ずっと前から捨てられる。 Windows自体はコマンドプロンプトも含めて ずっと前から完全にUnicode対応
- 679 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:28:45.38 ID:4pvDP8OD.net]
- >>664
> だったらβの機能なんか使うなよ、で終わりだよ まあそれは正論なんだが、さっきも書いたようにクライアントの責任であっても 割を食うのはこっちになったりすると目も当てられんからね >>666 そんな当たり前の次元の話を一切してないからね
- 680 名前:デフォルトの名無しさん [2019/11/26(火) 14:29:07.54 ID:dAEqoOXB.net]
- ふ〜ん
Pythonで問題起きるのか Rubyはどうなんだろ
- 681 名前:デフォルトの名無しさん [2019/11/26(火) 14:32:29.48 ID:dAEqoOXB.net]
- 上の >>662 のPythonの人は
PYTHONENCODING=utf-8の方を気にしてるけど setdefaultencodingとかはどうしてるのかな
- 682 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:34:38.59 ID:4pvDP8OD.net]
- >>667
> cp932使ってる古いアプリは、この設定にすると > 動かなくなるだけ。つまり捨てるしか無い。 この時点で間違ってる つーかW系A系のAPIの使い分けしたことあれば、A系の動作が変わることでどうなるのか ってある程度予想できそうなもんだけど、なんでここまで勘違いが続けられるの?
- 683 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:46:41.11 ID:LSm6MssX.net]
- プロファイル壊されるってゆーてるリンクの連中だけが情報量ゼロなの草
- 684 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:53:48 ID:hqQvrruW.net]
- 結局W系で作るしかないんだから余計なことは考えなくていいよ
- 685 名前:デフォルトの名無しさん [2019/11/26(火) 14:54:37 ID:ogXaluX+.net]
- fopen()の振る舞いで困るかも。Win32のfopen()はutf8を特別扱いするから。
- 686 名前:デフォルトの名無しさん [2019/11/26(火) 14:56:55 ID:dAEqoOXB.net]
- レジストリの読み書きも気になるな
- 687 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:01:36 ID:JyI6kWkc.net]
- >>671
いわゆるバイナリモードを使うとBOMがついてきちゃうとか、 いろいろトラブルが発生する可能性はあるね 前回のアップデートでもコンソールで文字化けする問題があったし それをざっくり言えば、古いアプリを捨てるか、設定変えんな、 という話になるだろ APIオタクと運用を見てる人で視点が違うことを理解しなよ >>668 >まあそれは正論なんだが、さっきも書いたようにクライアントの責任であっても それは契約文書にきちんと盛り込むべきだね
- 688 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2019/11/26(火) 15:25:37 ID:SWHzOLKZ.net]
- MultiByteToWideChar/WideCharToMultiByteの第一引数にシフトJISコードページ932を指定しないといけないらしい。CP_ACPだと死ぬ。
- 689 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:33:53 ID:Yz+apKYY.net]
- >>672
壊されないよ。日本語が化けることはあっても それは想定とは違うデータが入っただけだし アプリの問題
- 690 名前:蟻人間 mailto:sage [2019/11/26(火) 15:37:00.29 ID:SWHzOLKZ.net]
- シフトJISテキストファイルにUTF-8テキストが混ざったら、そりゃ文字化けするでしょう。
- 691 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:56:07 ID:9NQ9wJPH.net]
- >>679
無茶苦茶になるよな ありえんわ
- 692 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:01:44.16 ID:Yz+apKYY.net]
- コードページを変えると文字化けするだろうね
それだけの話。別に動かなくなるわけじゃない。 コードページをもとに戻せば動く 壊れたデータは直せばいいだけ
- 693 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:02:07.57 ID:ogXaluX+.net]
- main()に渡される引数文字列argvどうなります?
- 694 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:23:03.19 ID:9NQ9wJPH.net]
- 自前で先行バイト検出しながら文字列書き換えるような関数とか如何すんのよ
- 695 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:23:44.61 ID:H048FZbZ.net]
- >>682
Unicode非対応アプリのmainだとして、 Unicode対応アプリ(からUnicode APIを使って)呼び出せば、引数全てがUTF-16からUTF-8に変換されてから 呼び出される。Unicode非対応アプリから呼び出せば、渡した文字列(バイト列)がそのまま渡される。 そこは今までと変わらない。今までもUnicode対応アプリから呼び出せば、設定されたコードページ(例えばcp932)に 変換されて呼び出される。違いはUTF-16からUTF-8だと変換できない文字がないので文字化けは一切発生しない。 なお、渡されたからと言ってアプリが正しくその文字列を扱えるかどうかは別の話 結局の所cp932専用で作られたアプリは完全に同じようには動かない。(ASCIIの範囲でなら問題ないだろう)
- 696 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:25:08.09 ID:H048FZbZ.net]
- >>683
実装と場合(データ)によるとしか言えない。 Unicode(UTF-16)非対応の古いアプリは、想定したコードページでしか まともに動かない。それだけの話だよ。
- 697 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:25:51.97 ID:H048FZbZ.net]
- あと、システムプロファイルとか意味不明。
何の話をしてるのかわからないレベル。
- 698 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:30:59 ID:H048FZbZ.net]
- ちなみにUnicodeから非Unicodeへの変換は変換できない文字があるから一部文字化けするが、
非UnicodeからUnicodeへの変換では文字化けすることはない。 だから、cp932を扱えるアプリがcp932でレジストリ(UTF-16)に書き込んでも 適切に変換が行われるし、そのアプリがUTF-8を使えるなら、それもレジストリに書き込んでも壊れたりしない。 例えばアプリ(cp932)から レジストリ(UTF-16)に書き込んで、 レジストリ(UTF-16)を アプリ(UTF-8)から参照することは問題なくできるということ
- 699 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:32:48 ID:9NQ9wJPH.net]
- >>685
非対応じゃ無くWとAはちゃんと使い分けがなされてるんだよ オーバーロード関数なら引数がWCHAR *がCHAR *で問題なく動く そこにUTF-8とかねじ込まれても困るわ
- 700 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:32:49 ID:H048FZbZ.net]
- もちろんレジストリ(UTF-16)をアプリ(cp932)で参照したときは扱えない文字列があるが、
それはファイル名(UTF-16)をアプリ(cp932)で扱えない文字があるという程度の話でしか無い。
- 701 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:35:04.40 ID:ogXaluX+.net]
- マルチバイト文字を含むファイルパスが鬼門でしょ。
- 702 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:38:45.15 ID:H048FZbZ.net]
- >>688
お前は意味がわかるように書き込め > 非対応じゃ無くWとAはちゃんと使い分けがなされてるんだよ どういう使い分けがされてるのか書け > オーバーロード関数なら引数がWCHAR *がCHAR *で問題なく動く それって引数がWCHAR *ならW系が使われて、引数がCHAR *ならA系が使われるってだけだろ > そこにUTF-8とかねじ込まれても困るわ そこにってどこよ?何が困るんだよ。 UTF-8はCHAR*を使うって理解してるか? 今までA系はASCIIだけでなくSJISや多数の文字コードで使われていたというのに UTF-8が増
- 703 名前:えたごときで何も困らんだろ []
- [ここ壊れてます]
- 704 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:41:18.53 ID:H048FZbZ.net]
- >>690
鬼門っていうか、単にUnicode非対応のアプリは 想定しているコードページに変換できない文字を扱えないってだけだけどな たったこれだけのことなのに何をグダグダ言ってるのかわからん
- 705 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:56:51.07 ID:ogXaluX+.net]
- バッチファイルは厄介。あればだが。
- 706 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:59:13.07 ID:JyI6kWkc.net]
- >>684
UTF8アプリなんて存在するんだっけ?
- 707 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:02:23.79 ID:9NQ9wJPH.net]
- >>691
たとえUnicodeに対応しているプログラムであっても何らかの出力ファイルをSJISで出力するような構造だと、 それを勝手にUTF-8に書き換えられたら次読み込んだ時滅茶苦茶になるだろ 一般的なテキストエディタも勝手に文字コード変えるような事はせんからな
- 708 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:12:43 ID:H048FZbZ.net]
- >>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アプリですって指定できるようになるんじゃない?
- 709 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:13:45 ID:H048FZbZ.net]
- >>695
だからなんなんだよ? 当たり前の話するな。OSともアプリとも関係ない話だわ LinuxでもMacでも同じことは起きるわ。だからなんだんだよ
- 710 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:14:18 ID:H048FZbZ.net]
- 結論を書け結論を。お前がいいたいこが何かを書け。
- 711 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:16:25 ID:9NQ9wJPH.net]
- >>698
勝手に文字コードを変えんなってだけやろ 利用者の意思で変えさせろと
- 712 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:44:52 ID:H048FZbZ.net]
- >>698
勝手に変えてない。お前は馬鹿なのか?
- 713 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:48:56 ID:FXTOqUMb.net]
- クッソ伸びてて草
MBSCなソフトがA系APIでデータ読み書きしてたら非対応のUTF8に書き換わってて、 以降データが文字化けしたまま困ることになるんだから、元に戻せばOKとか非対応なんだから 仕方ないとか、こればかりは擁護不可能の的外れ 表示だけの問題じゃなく記録データにも影響があって、こいつばかりは復元ソフトでも組まないと戻せない MBSCなソフトは使えないだけならば、単純にA系APIを廃止すればいいだけなんだが MSはお節介にもどうにかして過去資産を活かしてやろうってことでA系の挙動を変える選択肢を 用意したって点だけ見ても、単純に非対応とか元に戻せばいいというような話ではない 年末にお父ちゃんから、古い宛名印刷ソフトのデータが壊れたって連絡が来るかも知れないくらいには、 時と場合によっては取り返しが付かない 今のところデフォでこの切り替えは無効だが、将来もしかしたら〜というのが現時点でのキモだろう
- 714 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:59:10 ID:4DbW4sNm.net]
- >>701
そんな長々と書かなくても、 SJISのファイルにUTF-8で書き込んだら文字化けしたのと同じことでしょ そんなのLinuxでもmacOSでも起きる問題だって言ってるんだが
- 715 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:00:34 ID:4DbW4sNm.net]
- >>701
> 過去資産を活かしてやろうってことでA系の挙動を変える選択肢を 意味不。単にUTF-8にも対応したってだけ コードページを一つ増やしたに過ぎない。 A系の挙動は昔から設定で変更できた。
- 716 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:02:42.72 ID:4DbW4sNm.net]
- もしかしてこいつは、ユーザーが設定変更しなくても
アップデートで勝手にUTF-8に変わるとか思ってるのか? ならものすごくマヌケだw
- 717 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:12:52.84 ID:FXTOqUMb.net]
- あー、アホが一人混じってるから伸びてるのか
把握
- 718 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:18:38.91 ID:4DbW4sNm.net]
- 今度はレスしなかったところを見ると図星だったか
- 719 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:39:40.59 ID:9NQ9wJPH.net]
- >>700
編集して上書きしたらUTF-8に変るんじゃなく新規での作成がUTF-8になるだけ? それなら俺の誤解だったわ 勝手に変えるのなら死ねだが
- 720 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:49:29.78 ID:4DbW4sNm.net]
- 本当にアホだったな。ユーザーが意図的に変えない限り変わらないってのに
- 721 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:55:32.97 ID:FXTOqUMb.net]
- 論旨はは>>638よりは>>648みたらはっきりしてる
”安易に設定変更したらA系使ってるソフトが恐い”ってことだけであって、”問題ない” と連呼してるアホ一人が理解力0というかマイナスなだけ
- 722 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:55:56.87 ID:4DbW4sNm.net]
- しかもエアプなんだろうな。
>>638は古い情報で、 そもそも「ベータ: ワールドワイド言語サポートで Unicode UTF-8 を使用」の設定と 『メモ帳の文字コードと全く関係ない』話だってのもわかってないんだろう 『当時』はたまたまそこの設定がデフォルトになっていただけで、 今は常にUTF-8(BOMなし) メモ帳は古いアプリでもなんでも無いしな で、メモ帳が保存するテキストファイルの文字コードと 古いアプリの挙動も全く関係ない話。そんなの考えるまでもなくわかること こいつずっとテキストファイルのデフォルトの文字コードと APIの話をごっちゃにしてたのかよ 完全に素人だ
- 723 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:58:15.43 ID:9NQ9wJPH.net]
- >>710
言っとくが俺と>>701は別人だからな
- 724 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:58:43.20 ID:4DbW4sNm.net]
-
- 725 名前:>>709
>”問題ない”と連呼してる 連呼の意味わかってる?w ”問題ない”で >>638以降のレスを探すと >>684で一回しか書いていない。しかも関係ない話 お前は思い込みが激しいってことがはっきりわかったな [] - [ここ壊れてます]
- 726 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:05:03.16 ID:4pvDP8OD.net]
- はい、論点誤魔化してきたね
未だに文字化けする程度の認識しかしてないから、話するだけ無駄だと思うよ メモ帳とか連呼の定義とか持ちだしてきてもう意味不明 そもそもWinAPIのプログラムも組んだことないの丸わかりだから、キチガイに付き合うだけ損
- 727 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:05:29.42 ID:dbvsSdaZ.net]
- 例えば標準入力から文字列を受け取ってテキストファイルに追加書き込みする実行ファイル
そんなの使ってたら、ファイル前半はシフトJIS、後半はUTF8になって、どっちでも読めなくなる これは極端な例だけど同じようなことはそこら中で起こりえる
- 728 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:05:45.18 ID:FXTOqUMb.net]
- メモ帳・・・・?
ヤベえなこいつ
- 729 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:09:39.48 ID:s8aO6zrT.net]
- だんだん論点ずれてきてるやん
- 730 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:09:52.88 ID:4pvDP8OD.net]
- >>709
んだ >>714 そうだね 単純にそういう話になると思ってたんだが、このスレでこのレベルの未経験者が話しに入ってくるとは思わなかった
- 731 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:11:27.01 ID:4DbW4sNm.net]
- はぁ、リンク先も読んでないのかよ
>>638のリンク先読めよ・・・ https://twitter.com/MurakamiShinyu/status/994781934407553024 > 今までデフォルトでShift JISだったもの(メモ帳をはじめ…)が > この設定をすると「メモ帳」の「名前を付けて保存」で「文字コード: ANSI」 > (デフォルト)だとBOM無しのUTF-8、「文字コード: UTF-8」だと > BOM付きのUTF-8のファイルになります。 ↑注意 これは古い話で今は当てはまらない (deleted an unsolicited ad)
- 732 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:12:17.71 ID:4DbW4sNm.net]
- >>717
> 単純にそういう話になると思ってたんだが、 その話は当たり前で、LinuxでもmacOSでも同じことになると さんざん言ってる
- 733 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:17:08.27 ID:4DbW4sNm.net]
- ちなみに
> 標準入力から文字列を受け取ってテキストファイルに追加書き込みする実行ファイル これはコードページとは何の関係もない。 当たり前だがSJISで出力してるアプリは、 コードページをどう変更しようが、SJISで出力される。 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」に チェックを入れたところで、SJISで出力してるアプリが UTF-8で出力するように変わることはない。
- 734 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:18:48.31 ID:9NQ9wJPH.net]
- 設定変更しなければ良い、ってのは利用者の目線で開発者の発想ではないわな
- 735 名前: mailto:sage [2019/11/26(火) 19:19:13.34 ID:eitz3RWA.net]
- >>658
>A系アプリってなんだ? A系っていうのはWindows APIのAPIの末尾のAだろ >Windows APIの話なんだからWindowsの話だろ? win32api には同じ api 関数に対して A 系と W 系の二つの異なった関数が準備されているんです A 系の A は ansi の A で、こいつは主にファイルパスに Shift-JIS/cp932 を使うのに対して W 系はファイルパスに utf-16LE を使います
- 736 名前: mailto:sage [2019/11/26(火) 19:20:16.92 ID:eitz3RWA.net]
- >>674
win32api に fopen は存在しません、CreateHandle ならば存在しますが
- 737 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:21:22.69 ID:4DbW4sNm.net]
- もちろん、「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」
の設定(コードページ)を見て、アプリ内部でその文字コードに変換して 出力するように作られてるアプリは別な。 あくまでA系APIを使ってるアプリの話 SJIS前提で作られてるアプリは、SJISでしか出力しません。 ただしAPIがUTF-8前提として処理するのでASCII以外だと 出力がおかしくなります。
- 738 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:22:46.52 ID:4DbW4sNm.net]
- >>722
> A 系の A は ansi の A で、こいつは主にファイルパスに Shift-JIS/cp932 を使うのに対して W 系はファイルパスに utf-16LE を使います うんしってる。そして新設された「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」 というのは、A系を使ってASCII互換のUTF-8を使えるようになる機能です。
- 739 名前: mailto:sage [2019/11/26(火) 19:22:59.57 ID:eitz3RWA.net]
- 問題のオプションが A系 W系に関係するものか、誰か見解を出していただけませんか?
- 740 名前: mailto:sage [2019/11/26(火) 19:24:22.44 ID:eitz3RWA.net]
- >>725
thanks!
- 741 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:25:39.71 ID:4pvDP8OD.net]
- >>718
>>648読んでる? > すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。 >>719 > その話は当たり前で、LinuxでもmacOSでも同じことになると > さんざん言ってる 今回のWinの設定がなんで他のOSを例に挙げるの?しかもWin32APIの話なのに、どういう関係があるのか? >>720 > 当たり前だがSJISで出力してるアプリは、 > コードページをどう変更しようが、SJISで出力される。 君は、 > すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。 これ自体がウソだって言ってるんだね? ダラダラ連投せずに、そう書けば?
- 742 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:26:51.40 ID:4DbW4sNm.net]
- >>728
> 今回のWinの設定がなんで他のOSを例に挙げるの?しかもWin32APIの話なのに、どういう関係があるのか? だから他のOSでも起きる、SJISのファイルにUTF-8で書き込むと壊れるという話を ごちゃまぜにするなと言ってる。 それはWin32APIと関係ない話だと言ってるだけ
- 743 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:32:03.78 ID:4pvDP8OD.net]
- >>729
> SJISのファイルにUTF-8で書き込むと壊れるという話を なぜそのようなことが起こるのか、どういうきっかけで起こるのか、影響範囲はどうなっているのか、 A系APIの挙動が変わるからだ という話なだけでしょうが 他のOSを例に出す意味がない 君の主張は、APIの挙動は変わらないということなんだね? 要点をまとめなよ
- 744 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:36:44.09 ID:4DbW4sNm.net]
- >>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が変換してるわけじゃなくコードページに応じたリソースに変えてるだけ)
- 745 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:40:06.72 ID:4DbW4sNm.net]
- >>730
要点 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」の設定によるAPIの挙動と アプリが入出力する文字コード(ファイル等を含む)は関係は一切ない アプリが入出力する文字コードはアプリの実装によって決まる。 (Win32 APIと関係ないから、他のOSも同じという話につながる)
- 746 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 20:15:32.91 ID:9NQ9wJPH.net]
- APIの挙動変るのはやっぱヤベーな
iniから文字列を取り出す >UTF-8 今まで通りSJISだと決めてかかって独自関数でパスの分解などをすると滅茶苦茶になるって話やん これを利用したディレクトリトラバーサルとかも可能なんじゃね?
- 747 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 21:07:20.59 ID:Qm31cF9G.net]
- まずは公式ドキュメントを読め
話はそれからだ Visual C++ のテキストと文字列 https://docs.microsoft.com/ja-jp/cpp/text/text-and-strings-in-visual-cpp
- 748 名前: mailto:sage [2019/11/26(火) 21:10:43.31 ID:eitz3RWA.net]
- >>734
VC のドキュメントがなんの役に立つ?
- 749 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 22:34:01.39 ID:JUtzLycC.net]
- 他のソースはないかな。
βとはいえMSが単なるロケールの追加じゃなくてそんな過激なスイッチを導入しようとする意図がよくわからん。
- 750 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:00:16.55 ID:dbvsSdaZ.net]
- 英語圏だと切り替えても英語入出力だけするなら何も変わらないしメリットの方が多い
日本語圏じゃデメリットしかないがw
- 751 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:01:00.12 ID:JyI6kWkc.net]
- >>719
> その話は当たり前で、 本当? SJISアプリをUTF-8アプリとして動作させるんだぜ? printf("あほまぬけ\n"); こんなアプリがあったときに、 設定前と設定後で出てくる文字コードが違うんだぜ? Linuxでそんなことが起こるかよ。
- 752 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:03:08.88 ID:JyI6kWkc.net]
- >>737
シングルバイトアプリがマルチバイトアプリとして動くわけ? もっと変なことになるだろそれ
- 753 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:32:37.50 ID:9NQ9wJPH.net]
- _tcsincなんかマルチバイト前提にしか使わないような関数だろ
- 754 名前:ヌんな挙動になるんだ []
- [ここ壊れてます]
|

|