Windows の GetCommandLineA で UTF-8 は来るのかどうか
結論的には、来ません(でした)。
↓ Unicode 対応ではないプログラムの言語 (システムロケール)
英語表示だと Language for non-Unicode programs (System Locale)
の選択に依存すると確信いたします。
参考: 情報: システムのロケールとユーザー ロケールの違い
The system locale determines which code pages (ANSI, MS-DOS, and Macintosh) are used on the system by default. Changing the system locale also installs the necessary bitmap font files to support applications in the language you selected. This is a per-system setting, and requires that you restart your computer (reboot) to change the setting. You can select a system locale only if the appropriate language group is installed; for example, you can't change the system locale to Chinese if your operating system is English Windows NT with no Chinese support.
検証方法
DumpCmdline のソースコード https://github.com/HiraokaHyperTools/DumpCmdline
Windows 10 Pro (x64) バージョン 1809 日本語版
コマンドライン
DumpCmdline.exe 123あいうえお🍷
文字 | GetCommandLineA Shift_JIS |
GetCommandLineW UTF-16 |
---|---|---|
1 | 31 | 0031 |
2 | 32 | 0032 |
3 | 31 | 0033 |
あ | 82 A0 | 3042 |
い | 82 A2 | 3044 |
う | 82 A4 | 3046 |
え | 82 A6 | 3048 |
お | 82 A8 | 304A |
🍷 | 3F 3F | D83C DF77 |
Windows コマンドプロンプトにて
コードページ 932 (ANSI/OEM - 日本語 Shift-JIS) で
コードページ 437 (OEM - 米国) で
MinGW 2.6.0 bash にて
Cygwin 3.0.4 bash にて
Author And Source
この問題について(Windows の GetCommandLineA で UTF-8 は来るのかどうか), 我々は、より多くの情報をここで見つけました https://qiita.com/kenjiuno/items/d5612491a03c28c1f1a3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .