文字コード総合スレ part15 (470レス)
1-

85: 2024/11/10(日)17:45 ID:x8h1RQEe(4/4) AAS
$ gcc ConsoleApplication1.c
$ ./a.exe
テスト0😊

$ ./a.exe テスト1😊 テスト2😊
Error: Command line contains characters that are not supported
in the active code page (1252).

UTF8 everywhereは厳しいですかね?
86: 2024/11/10(日)19:10 ID:c/95e8WD(2/2) AAS
WindowsでワイドキャラクタってのはUTF16LEのことだよ?
87
(1): 2024/11/10(日)20:20 ID:+vLaBA7E(1) AAS
UTF-8 everywhere行けました

$ cat utf8.rc
#include "winuser.h"
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "utf8.manifest"

$ cat utf8.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:application>
<asmv3:windowsSettings xmlns="外部リンク:schemas.microsoft.com
<activeCodePage>UTF-8</activeCodePage>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>

$ cl -utf-8 ConsoleApplication1.c
$ mt.exe -nologo -manifest "utf8.manifest" -outputresource:"ConsoleApplication1.exe;#1"
$ ./ConsoleApplication1.exe テスト1😊 テスト2😊
テスト0😊
テスト1😊
テスト2😊

$ windres --input utf8.rc --output utf8.res --output-format=coff
$ gcc ConsoleApplication1.c utf8.res
$ ./a.exe テスト1😊 テスト2😊
テスト0😊
テスト1😊
テスト2😊
88: 2024/11/10(日)22:05 ID:ictCxOlF(1) AAS
>>87
下記の手続きを適用したってことなのかな?

Windows アプリで UTF-8 コード ページを使用する - Windows apps | Microsoft Learn
外部リンク:learn.microsoft.com
89: 2024/11/11(月)06:32 ID:bzvUbbzk(1) AAS
はい、検索して適当に拾ってきたのでxmlnsが微妙に違いますが同じことですね

MinGW64ツールチェーンではutf8.rcを経由してマニフェスト埋め込みしてますが
MSVCツールチェーンではその経路だとこうなります

$ rc utf8.rc
$ cl -utf-8 ConsoleApplication1.c utf8.res

ついでにPythonでもやってみました

$ cat ConsoleApplication1.py
import sys
print("テスト0😊")
for s in sys.argv[1:]:
print(s)

$ python313.exe ConsoleApplication1.py テスト1😊 テスト2😊
テスト0😊
テスト1😊
テスト2😊

環境変数がセットされてたので強制的に空にしても問題ないようです
$ PYTHONIOENCODING= PYTHONUTF8= python313.exe ConsoleApplication1.py テスト1😊 テスト2😊
テスト0😊
テスト1😊
テスト2😊
90
(1): 2024/11/11(月)11:04 ID:RXw/cl7Z(1) AAS
スレ汚しでしかない
91: 2024/11/11(月)13:27 ID:ZQtGCGPy(1) AAS
>>90
まあ、あの荒れそうな言語がユニコード引数でエラー出すからな
92
(1): 2024/11/15(金)23:15 ID:5CeogfbD(1) AAS
>>73
コードはユニコード
それをどうエンコーディングするかでUTF8やUTF16やUTF32などがある
ネットの標準がUTF8に統一されてなって
ファイルシステムでもUTF8に統一されつつあり
プログラム内部でもほとんどの用途はそのまま透過的にUTF8が有利に

固定長で扱うUTF32はムダすぎで
可変長のUTF8は後ろからでも切れ目を間違えことなく
表示幅問題はUTF8/UTF32関係なく発生するため
93
(1): 2024/11/17(日)17:51 ID:4RtrNUdf(1) AAS
>>92
>ファイルシステムでもUTF8に統一されつつあり
例を挙げてもらえますか?
94
(2): 2024/11/17(日)18:35 ID:hkK5KPG+(1) AAS
>>93
Linux distro, MacOS, android, iOS,...
挙げ始めたが最近のリリースだと Windows 以外のメジャーどころは全部じゃね?
95: 2024/11/18(月)23:18 ID:cZsx9Sbk(1/2) AAS
UTF-8は世界の誰もが好むわけではない。
どの民族もUTF-8の良いところと悪いところで悩んでいる
96: 2024/11/18(月)23:20 ID:cZsx9Sbk(2/2) AAS
>>94
勘違いしているけど、それらの製品でも区別して使う分けている。
97
(1): 2024/11/20(水)15:38 ID:84IcR/Q0(1) AAS
>>94
Linux (ext4) は、ファイルシステムとしてはエンコーディングは規定されてないのでは?
ディストロやユーザーがUTF-8を使ったりするのは自由だが
よってAndroidも同様

なんだAppleだけじゃんw
98
(1): 2024/11/20(水)16:37 ID:APWVo8Zw(1) AAS
>>97
そんなこと言いだしたら APFS も NTFS も単にバイト列を記録してるのに過ぎない。
それをOSやライブラリとしてどう解釈するかがファイルシステムの文字列。
だから linux kernel でなくて linux distro の問題。
(もっとも最近の Linux kernel はデフォルトで UTF-8 を指定するABIとかあって文字コードの変換したりするけど。別問題)
99
(1): 2024/11/21(木)12:47 ID:SUxxkxcm(1) AAS
UTF-8も完璧じゃないからな
100: 2024/11/21(木)14:20 ID:GU8mH0bt(1) AAS
>>99
キミの言う「完璧」とは一体...
101: 2024/11/21(木)15:46 ID:/Qk0W5ej(1) AAS
>>98
>そんなこと言いだしたら APFS も NTFS も単にバイト列を記録してるのに過ぎない。
いいえ
102: 2024/12/01(日)10:32 ID:RvSn0UL0(1) AAS
UTF8を推しているのは形を変えたASCII信者の老害。
103
(1): 2024/12/01(日)11:15 ID:iESkoZBr(1) AAS
刷新できていない古いシステムを除くと
文字コードはユニコードになったね

エンコーディングはネット上がUTF8なので
それをそのまま扱うのが一般的となったね
104: 2024/12/01(日)12:39 ID:8fzBRjbp(1) AAS
UTF-8 より完璧な文字コードって何だい?
ASCII と SJIS と UTF-8 はいいねしたい
105: 2024/12/01(日)20:40 ID:NnL6xx/e(1) AAS
なんか色々ごっちゃだな
106: 2024/12/02(月)03:35 ID:okRPdXGy(1) AAS
元のユニコードがクソだからなあ
結局どうにもならなくなって異体字セレクタとか出てくるし
107: 2024/12/02(月)13:49 ID:Zd1R379W(1) AAS
ishの出力ってSJISが標準?
utf-8板のish欲しいと思ったけど
-Dutf8付けてコンパイルしても結局SJIS出力だった
108: 2024/12/02(月)14:10 ID:n2j6TE+S(1) AAS
バイトデータで出力してるだけでエンコーディング関係ないような
UTF-8対応してもバイト単位でみたら7ビットしか情報持てないから損
効率気にしないならコード変換したらいい
半角カナが3バイトになるけどエラー訂正なんかは使える
109: 2024/12/03(火)12:52 ID:DZc+/1dr(1) AAS
たまたまSJISでデコードしたら人間に読める(かもしれない)ってだけで
只のバイナリデータだよね
110: 2024/12/04(水)23:36 ID:9B20CEFA(1) AAS
SJISとして不正なバイト列は含まれないはず
111
(3): 2024/12/05(木)16:18 ID:riH9D2sC(1) AAS
ファイル名がユニコードだと、
例えば2つのファイル名が同一かどうかの判定は、2つのユニコード列が同一かどうかの
判定をしなくてはならない。この場合の同一とはなんだろう。めんどくさい
112: 2024/12/05(木)16:59 ID:jrS77sb5(1/2) AAS
>>111
「ユニコード列」みたいな曖昧な用語で考えると曖昧な結果にしかならなんわな
113
(2): 2024/12/05(木)17:16 ID:jrS77sb5(2/2) AAS
「ファイル名」という用語に限ってもOSごとに異なる意味をもち、「バイト列/コードポイント表現」(Linux/Windows)と「 unicode 正規化表現」(MacOS)のどっちのやり方もあるし unicode の正規化には複数の種類がある
114: 2024/12/05(木)19:21 ID:f+d6ZP2R(1/2) AAS
>>103
ネットはJISもあるから、そう簡単な話ではない。

EメールだとまだJISが主流。
1-
あと 356 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.009s