◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

文字コード総合スレ part15


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1723861080/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2024/08/17(土) 11:18:00.01ID:VHa7+i59
文字コードについて語り合うスレです
2デフォルトの名無しさん
2024/08/17(土) 11:23:28.13ID:VHa7+i59
前スレ埋まってたので立てといた
テンプレとか過去スレを張るとNGワードで弾かれたので省略した
可能な人がいたら適当に補完しといて
3デフォルトの名無しさん
2024/08/17(土) 11:32:03.55ID:4RGMPEY4
しゃぶれよ
4デフォルトの名無しさん
2024/08/18(日) 02:47:53.12ID:NcMT6XUt
Q. UTF-8にBOMは必要ですか?
A. Unicode規格ではUTF-8にBOMを付けることは非推奨と明記されています
LinuxやMacやInternetの各規格ではUTF-8にBOMをつける文化はありません
Microsoftはかつて技術者向けにBOMを付けることを推奨しておりWindowsのツールはデフォルトでBOMを付加していましたが新しいバージョンではBOMを追加しないよう変更されていっています
現時点でも文字コードの自動判別にBOMを使用しているアプリはあるのでそいうソフトウェアの使用に限って便利なこともあります
5デフォルトの名無しさん
2024/08/18(日) 14:23:47.18ID:tu42Sbmi
14 http://2chb.net/r/tech/1677826018/
13 http://2chb.net/r/tech/1593777227/
12 http://2chb.net/r/tech/1544931495/
11 http://2chb.net/r/tech/1516629503/
6デフォルトの名無しさん
2024/08/18(日) 19:18:59.30ID:zbSOXgFa
ms-vcでまだs_jisを使ってる人はただちに辞める方法

ms-vcでutf-8を使う方法
https://learn.microsoft.com/ja-jp/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=msvc-170
7デフォルトの名無しさん
2024/08/18(日) 19:19:42.01ID:zbSOXgFa
https://learn.microsoft.com/ja-jp/cpp/build/reference/source-charset-set-source-character-set?view=msvc-170
https://learn.microsoft.com/ja-jp/cpp/build/reference/execution-charset-set-execution-character-set?view=msvc-170
8デフォルトの名無しさん
2024/08/20(火) 06:33:10.98ID:LmqpP+1d
UTF8は、BOMは、非推奨の意味は、
1)UTF8はBOMは法的には🈲
2)UTF8はBOMは私的には🈲
3)UTF8はBOMは使っても🆗
4)SHIFT JISにはBOMは使おう

きっと、3)だな
だってBOMっていきなり先頭バイト
からしてUTF8に存在しないよな?
てか、UTF8は🈲にして
UTF16ビッグエディアンのみ🆗とし
ポクの大好きな笑文字☺とかは
第四水準漢字を削除して笑文字に
割当なさーーーーーい。
てか、第3水準とか第2水準の
割当た場所ってグダグダで
変更は無理ぢゃーーーん。
てか、第四水準はスッキリした
とこに割当られてるし
ドンドンサロゲートは廃止し
第四の場所に絵文字🥳とか割り当てて

超新型UTF16 旧UTF16とは、
第四水準と絵文字以外は
相互に完璧互換性在るハズ

俺って極超々天才だろぉーーぅ
9デフォルトの名無しさん
2024/08/20(火) 13:55:10.92ID:7gW0oenX
v=RiMT0r8f8aY
10デフォルトの名無しさん
2024/08/23(金) 22:33:12.33ID:MSi6WCPm
ASCII文字以外を使っているならアスキーアートではなく
シフトJISアートやユニコードアートと呼ぶべき
11デフォルトの名無しさん
2024/08/23(金) 23:11:16.91ID:2ix4xWvO
そんなの25年以上前の日本人に言えよ!
12デフォルトの名無しさん
2024/08/23(金) 23:40:41.57ID:cmdpMWs7
ターミネーターの姉はターミネーちゃん
13デフォルトの名無しさん
2024/08/24(土) 01:25:39.89ID:Ou5o/VfJ
終端抵抗
14デフォルトの名無しさん
2024/08/29(木) 08:02:28.17ID:xXLtcRNN
スレがターミネートしそうになってるやないかい!
15デフォルトの名無しさん
2024/08/30(金) 16:05:00.99ID:+R5e+PNr
もう丸囲み数字はやめようよ。
日本人はなんで打ちにくい①、②、③を書くのかな?

手間しかかからない。
16デフォルトの名無しさん
2024/08/30(金) 16:58:48.30ID:G4y5i48u
>>15
かわりに何を書くの?
(1)って打って①に変換するんなら手間は一緒だと思うが
単に使ってる日本語入力環境の問題じゃね?
17デフォルトの名無しさん
2024/08/30(金) 17:56:41.94ID:sr/ASeNj
数字の1を変換したら候補に①はあるから打ちにくいとは思わないな
18デフォルトの名無しさん
2024/08/31(土) 10:12:54.19ID:oPSFGvVw
毛頭はIIやIIIを好むけど同じ問題だな
19デフォルトの名無しさん
2024/08/31(土) 19:43:43.53ID:rCss6Stj
>>17
物理的なQueryキーの話じゃないぞ?
20デフォルトの名無しさん
2024/09/01(日) 05:48:48.48ID:NvwjG4ve
「いち」の変換の候補は、一、位置、市、イチ、一部、壱、1
、1、T、@ とかいろいろ、色とりどり、どれにしような
どれを使用しような。
てゆうーーか、「まるいち」って打ち込めば、丸一 だ
ま、「まるいち」って打ち込んでも、候補に@はでるが
単に、「いち」でも@が出てくる。てゆうか、
学習機能により、「いち」と打ち込むだけで
@が2番に出るようになった。ちなみに、第1候補は、
無変換である いち のままだ。学習機能ヤバイ。スゴい。ありえない
2120
2024/09/01(日) 05:51:10.12ID:NvwjG4ve
@が?に化けちゃってる。
@は使用🈲を推奨を、推奨しようよ
22デフォルトの名無しさん
2024/09/01(日) 10:03:06.38ID:J4xaQJqz
25年以上前からUnicodeに含まれてる文字が化けるソフトを使用禁止にしろよ
23デフォルトの名無しさん
2024/09/01(日) 13:23:41.75ID:iI4Ho9Ek
すまん5chで文字コードバグが起きてるんだがどういう事態になってんの?
24デフォルトの名無しさん
2024/09/01(日) 14:36:43.89ID:MnUgJTxK
bugってるのは君の頭だ
25デフォルトの名無しさん
2024/09/01(日) 15:05:05.84ID:MmIh9kGJ
>>23
直ったみたいだよ
ブラウザが変換・送信した数値文字参照をぶっ壊していた模様

サンプル
http://2chb.net/r/operatex/1724088826/94-103n
http://2chb.net/r/poverty/1725160810/
26デフォルトの名無しさん
2024/09/01(日) 21:44:20.22ID:4u39F89u
「いち」なんて打たなくても「1」だけで良いんだけどな
27デフォルトの名無しさん
2024/09/02(月) 20:00:21.60ID:Mm7rASpk
UTF-8で見た目が同じものを二重に定義してしまった。

①~⑩までは昔からあるが、丸0と丸11以降を作り出してしまい、環境依存がさらに進んでいる。
28デフォルトの名無しさん
2024/09/02(月) 20:47:47.09ID:nqMgjBbq
IMEで変換する時に環境依存文字と出る文字は
CP932に無い文字ということ?
29デフォルトの名無しさん
2024/09/03(火) 16:12:49.13ID:/Ve5otW6
>@〜Iまでは昔からあるが、丸0と丸11以降を作り出してしまい

しかも文字コードで丸内数字の大小比較出来ないんだぜ
30デフォルトの名無しさん
2024/09/04(水) 06:51:59.10ID:rihkE3nT
>>29
あれ、大小比較駄目なんだっけ?
31デフォルトの名無しさん
2024/09/05(木) 00:09:14.51ID:/oUqYYg3
大小比較は出来るけど連続性は全く出鱈目
しかもskipしてるし場所もバラバラ
32デフォルトの名無しさん
2024/09/06(金) 03:04:08.53ID:MqTwQYNn
>>27
>環境依存
この場合の「環境」って何?
33デフォルトの名無しさん
2024/09/07(土) 00:11:00.57ID:AfmpIPHK
今って皆Unicode環境じゃん
34デフォルトの名無しさん
2024/09/07(土) 07:34:15.21ID:G5zNb7Sx
がフォントに全ての文字含まれているわけではない
35デフォルトの名無しさん
2024/09/07(土) 16:32:15.98ID:8Mdqns08
今は標準のフォントで結構文字が入ってない?
そこにNotoあたりでも足せば... No Tofuというぐらいで
36デフォルトの名無しさん
2024/09/08(日) 01:58:10.59ID:ZMDGTsRQ
市販の日本語フォントはProフォントでも Adobe-Japan1-7 にある文字どまりで2万3千文字程度
Noto も国ごと文字種ごとにファイル分割されているのでフォント切り替えないと全ての文字は表示できない(あと新しく追加された文字はない
いろいろ都合があって一つのフォントファイルに入れるのは最大でも6万字程度に抑えられてるのが実情
37デフォルトの名無しさん
2024/09/08(日) 02:50:32.22ID:sAB3C2kg
なんでたまに中国の漢字が混ざるんかね
普通に使ってても混ざった事ないけど
38デフォルトの名無しさん
2024/09/08(日) 05:25:42.70ID:JPjEWE8J
CJK統合漢字という黒歴史
中国が文句言ったせいで
39デフォルトの名無しさん
2024/09/08(日) 05:27:48.50ID:vgBqrjWA
>>36
囲み文字の話だろこれ。無理に話広げんなっちゅーの
40デフォルトの名無しさん
2024/09/08(日) 06:41:46.56ID:VzCs41gF
文字列"c9" と"c10" 大小比較考察に、
数値9と10は、後者は、デカい有。さて
文字列のそれは、後者はデカく無アル?
てか、wind○wsは、ファイル名並替順は
ロジックは、意味は、ワカラン有る。
てか、豆腐文字□ぽぃのとか?はやめて、👻
に、豆腐文字ぽぃのは、統一してよ。
41デフォルトの名無しさん
2024/09/08(日) 09:04:47.02ID:2kAAelOS
文字コードに国境がないと想像してみよう  そんなに難しいことじゃない
争いや宗教がなくなり  全世界の人が平和に暮らせる
僕のことを夢想家だと言うかもしれないね
42デフォルトの名無しさん
2024/09/08(日) 09:41:19.87ID:KGpMdTK5
とんでとんでとんでとんで まわってまわってまわってまわる
43デフォルトの名無しさん
2024/09/08(日) 10:09:45.56ID:kvPGcLQN
日本語のソートはJISコード順じゃないと使い物にならないから内部でUnicodeからJISに変換しているという本末転倒感。
44デフォルトの名無しさん
2024/09/08(日) 15:01:05.20ID:AApwAY5I
何で今までと順番が違うんだとか言われても面倒だからね
文句言う連中は文字コード云々なんて知らないだろうし
45デフォルトの名無しさん
2024/09/08(日) 16:55:41.96ID:kvPGcLQN
今までと違うとか言う以前に、Unicodeのコードポイント順に整列しても意味不明だしね。
はっきり言って使い物にならない。
46デフォルトの名無しさん
2024/09/08(日) 19:11:11.78ID:We5vf4ux
Unicodeで数字とアルファベットはフォント違いや上付きや下付きの文字があって
丸囲みでもデザインの違いが何種類もあるよね
こういう装飾的な物は文字コードの方でやるのか
HTMLなどの別の規格でやるのかどっちがいいんだろうね
文字コードの方でやるとプレーンテキストでも
文を見やすくできるけど文字の検索がしづらくなるんだよね
47デフォルトの名無しさん
2024/09/09(月) 00:03:34.55ID:7afCe/O3
>>46
最近は記号や絵文字とかまでを登録するようなってるので普通の文字じゃなかたりするのも多数ある
一見アラビア数字に見えても実際は飾り記号(dingbat)だったり数学記号(math symbol)だったりするのも多い
(フォント違いに見えるのは数学記号)
(同じ丸数字が複数あるように見えるのは修飾数字と飾り記号)
日本からだと全角数字とかフォントによって見かけだけ違うのもあるし
48デフォルトの名無しさん
2024/09/09(月) 18:01:55.88ID:XsanjNXu
>>37
日本語とはっきり設定していないから
49デフォルトの名無しさん
2024/09/09(月) 18:21:03.10ID:zvC05GrM
そういやアップル圏のアプリの実装って
濁点半濁点付きの平仮名片仮名はちゃんと表示できてるの?
折り返し処理だとかそういう所で
50デフォルトの名無しさん
2024/09/10(火) 13:15:25.32ID:KGjTz1X0
アップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリアップル圏のアプリ
51デフォルトの名無しさん
2024/09/11(水) 22:23:26.91ID:3H08skAT
「Unicode 16.0」が公開 〜エジプト象形文字、レガシーコンピューティング記号を大量追加
5,185の新たな文字が追加。総計で154,998文字に
https://forest.watch.impress.co.jp/docs/news/1622857.html
52デフォルトの名無しさん
2024/09/15(日) 16:25:59.88ID:FHCue4HF
Windows環境では〜記号が波ダッシュより全角チルダの方で普及しているからなのか
日本語フォントでもフォントによっては全角チルダは表示できても波ダッシュは表示できなくて
波ダッシュが指定したフォントにならないなんて事がある
53デフォルトの名無しさん
2024/09/15(日) 17:44:02.92ID:sX///73B
>>52
駄目フォントじゃのぉ

全角チルダをちゃんとチルダっぽくして波ダッシュと全角チルダを見た目で区別つくようにして欲しいって言ったら
全角チルダを波ダッシュ代わりにしてるWindowsユーザーからクレームが来るから面倒って言われた記憶
54デフォルトの名無しさん
2024/09/16(月) 01:40:24.33ID:oxExUg4f
>>51
キャラクタベースの画面でインベーダーやパックマンができるようになるのか、胸熱
55デフォルトの名無しさん
2024/09/16(月) 01:40:40.50ID:oxExUg4f
しかしこのレガシーコンピューティングの部分の多角形とかって持ってるフォントある?
https://en.wikipedia.org/wiki/Symbols_for_Legacy_Computing

以前アプリを作ってた時にこの手のマークがあるなら是非使いたかったのだが
なさそうだったので自前でアイコンを作って表示した記憶が
56デフォルトの名無しさん
2024/09/16(月) 12:43:55.30ID:nhODMZRh
>>54
キャラジェネなんか?
57デフォルトの名無しさん
2024/09/16(月) 15:24:54.46ID:KZuryTv7
無能な働き者の集まり
58デフォルトの名無しさん
2024/09/28(土) 18:32:55.92ID:1d8NABxz
>>51
Game spritesやIconsのリファレンス元が知りたい

Symbols for Legacy Computing Supplement
https://www.unicode.org/charts/PDF/Unicode-16.0/U160-1CC00.pdf
59デフォルトの名無しさん
2024/09/30(月) 10:07:18.32ID:4t7Lwjtc
>>58
インベーダーっぽいのは「ALIEN CRAB」(異星カニ)、パックマンっぽいのは
「SNAKE」(ヘビ)等、固有名を避けあくまでも一般的なものとして逃げようとする
姿勢が見える
60デフォルトの名無しさん
2024/10/02(水) 19:07:49.51ID:C0WilfCa
ソリッドスネーク
61デフォルトの名無しさん
2024/10/05(土) 09:08:51.82ID:WFnL/JH1
ソリッドステートサバイバー + スネークマンショー
62デフォルトの名無しさん
2024/10/06(日) 11:23:06.85ID:BDyILJJL
なんつーか、PCGだなあ。
今更だけど。
63デフォルトの名無しさん
2024/10/06(日) 17:40:48.86ID:ALnpv1f2
横1列のドットパターンでコード割り当てて
合成も拡張して縦に並べられるとええかも
64デフォルトの名無しさん
2024/10/10(木) 12:19:57.72ID:bwO1aVtU
YMOと描いてイモと読む
65デフォルトの名無しさん
2024/10/13(日) 00:25:25.74ID:VNPRmq36
YMO欽トリオ... テクノな曲あったよな
66デフォルトの名無しさん
2024/11/08(金) 16:40:13.45ID:M93pzeOZ
「U+〜」の表記法って正式な名称ないの?「Short Identifier」?
67デフォルトの名無しさん
2024/11/08(金) 17:06:55.65ID:TFeZf1kn
https://www.unicode.org/versions/Unicode16.0.0/core-spec/appendix-a/#G12668
ないんでコードポイント表記とか
68デフォルトの名無しさん
2024/11/08(金) 18:20:23.07ID:y8v+DuF6
>>66
そもそもUTF-8はその表記が正式な表記だから、表記の名称が存在しない。
69デフォルトの名無しさん
2024/11/09(土) 19:37:18.98ID:otPYdJdQ
天皇に名字がないようのなものか? って違うか
70デフォルトの名無しさん
2024/11/09(土) 20:43:59.20ID:UMsfYHki
回答ありがとう。表記法や表現自体には特には名前ないんか。

正規表現のグループに名前を付けようとして
「(?<UnicodeCodePoint>(?<Prefix>U\+)(?<Hex>[0-9A-F]{4,6}))」
みたいにしたんだけど、
「U+HHHH」全体をコードポイントって呼んでいいのか、
「HHHH」部分だけがコードポイントと呼べるものなのか、
っていう疑問が湧いたんだよね。
調べたらすぐ分かるかと思ったら全然分からなくてモヤモヤしてた。
71デフォルトの名無しさん
2024/11/09(土) 23:09:52.15ID:OjNPz0/0
>>70
xxxx がコードポイント(code point)
U+xxxx がコードポイント表記 (code point notation)
とかで良いんじゃね
知らんけど
72デフォルトの名無しさん
2024/11/09(土) 23:59:10.46ID:aDTWwhb+
0xBEEFとBEEFは表現は違うけどどちらも16進表記で指してる値は同じ
10進表記の48879も同じ値を指す
Unicodeのコードポイントってのは値を指してる
だからなんやねんだけど
73デフォルトの名無しさん
2024/11/10(日) 02:50:29.80ID:NcxfIIMm
>>70
「U+」の部分はUTF-8だという意味
74デフォルトの名無しさん
2024/11/10(日) 03:16:28.77ID:c/95e8WD
>>73
コードポイントとエンコードの区別が付かない男の人って
75デフォルトの名無しさん
2024/11/10(日) 12:29:54.80ID:AfmJKCJ3
>>68>>73
これはひどい
76デフォルトの名無しさん
2024/11/10(日) 16:10:50.24ID:DLtuPbgG
Cスレの通りにやって文字出力したら化けるんだけど、文字コード民的な正しい対処法は?
ちゃんとソースファイルがUTF-8なのは確認した

http://2chb.net/r/tech/1721137434/350

#include <windows.h>

int main(void)
{
LPTSTR lptStr = TEXT("テスト😊");
printf("%s\n", lptStr);
}
77デフォルトの名無しさん
2024/11/10(日) 16:20:39.17ID:DLtuPbgG
win32でのAやW、charとwchar_tの事は分かっていて
Linux他でのクロスコンパイルを考えてwchar_tは使わずにUTF-8 everywhereで通しつつ

puts("テスト😊");

が文字化けしない様にしたい
特定システムロケールは仮定せず
ターミナルではchcp 65001してある
場合です
78デフォルトの名無しさん
2024/11/10(日) 16:47:24.57ID:ZReNrF9P
端末がUTF-8非対応なのはないとして
出力をファイルへリダイレクトするかダンプして
想定どおりのバイト列か確認してみては?
79デフォルトの名無しさん
2024/11/10(日) 16:48:25.69ID:IKmeMWRS
C詳しくないんで、正しい対処法は知らんけど、どこの通りで手元で出力できた。

https://www.reddit.com/r/C_Programming/comments/1adv86p/how_do_i_print_a_penguin_emoji_in_c_language/?rdt=48269
80デフォルトの名無しさん
2024/11/10(日) 16:48:33.88ID:qC3Ky4ZL
分かってるならなんでLPTSTRから変換せずに使ってんの
81デフォルトの名無しさん
2024/11/10(日) 16:51:53.80ID:IKmeMWRS
具体的な回答のリンクにできてなかったんで張り直し
これの前半のほうやね
https://www.reddit.com/r/C_Programming/comments/1adv86p/comment/kk5vdm1/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
82デフォルトの名無しさん
2024/11/10(日) 17:29:55.58ID:x8h1RQEe
>>78-81
ありがとうございます

putsで文字化けしていたのは、コマンドラインでソースutf-8指定したら文字化けは直りました
だけど、引数が受け取れないですね

#include <stdio.h>

int main(int argc, char **argv) {
puts("テスト0😊");
for (int i = 1; i < argc; i++)
puts(argv[i]);
}

$ cl -utf-8 ConsoleApplication1.c
$ ./ConsoleApplication1.exe テスト1😊 テスト2😊
テスト0😊
???1??
???2??

$ ./ConsoleApplication1.exe テスト1😊 テスト2😊 > out.txt
$ cat out.txt
テスト0😊
???1??
???2??

(システムロケールEnglishでの環境です)
83デフォルトの名無しさん
2024/11/10(日) 17:34:04.13ID:x8h1RQEe
デバッグで確認したところ、引数のテスト1😊 テスト2😊は受け取りの時点(argv[i])でアルファベット以外の各コードポイントが?になってます
84デフォルトの名無しさん
2024/11/10(日) 17:39:37.64ID:x8h1RQEe
WindowsTerminal
MSYSTEM=UCRT64のMSYS2 bashです

$ echo テスト1😊 テスト2😊
テスト1😊 テスト2😊
85デフォルトの名無しさん
2024/11/10(日) 17:45:01.75ID:x8h1RQEe
$ 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:18.70ID:c/95e8WD
WindowsでワイドキャラクタってのはUTF16LEのことだよ?
87デフォルトの名無しさん
2024/11/10(日) 20:20:44.02ID:+vLaBA7E
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="http://schemas.microsoft.com/SMI/2019/WindowsSettings";>
<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:14.87ID:ictCxOlF
>>87
下記の手続きを適用したってことなのかな?

Windows アプリで UTF-8 コード ページを使用する - Windows apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/apps/design/globalizing/use-utf8-code-page
89デフォルトの名無しさん
2024/11/11(月) 06:32:20.07ID:bzvUbbzk
はい、検索して適当に拾ってきたので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デフォルトの名無しさん
2024/11/11(月) 11:04:13.71ID:RXw/cl7Z
スレ汚しでしかない
91デフォルトの名無しさん
2024/11/11(月) 13:27:25.94ID:ZQtGCGPy
>>90
まあ、あの荒れそうな言語がユニコード引数でエラー出すからな
92デフォルトの名無しさん
2024/11/15(金) 23:15:52.91ID:5CeogfbD
>>73
コードはユニコード
それをどうエンコーディングするかでUTF8やUTF16やUTF32などがある
ネットの標準がUTF8に統一されてなって
ファイルシステムでもUTF8に統一されつつあり
プログラム内部でもほとんどの用途はそのまま透過的にUTF8が有利に

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

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

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

EメールだとまだJISが主流。
115デフォルトの名無しさん
2024/12/05(木) 19:22:28.03ID:f+d6ZP2R
>>113
Macのせいで記号や改行コードの解釈がめちゃくちゃになった。
116デフォルトの名無しさん
2024/12/05(木) 22:25:20.82ID:Kc+yIq6Q
>>111はあえて雑に書いてあるんだが(めんどくさいからw)
>>113は「曖昧じゃない」んだ?
117デフォルトの名無しさん
2024/12/05(木) 23:11:23.50ID:+y5lu+gF
見苦しいぞ
118デフォルトの名無しさん
2024/12/06(金) 10:53:27.12ID:zw4qy2EX
ハンカクカタカナ.txtと
ハンカクカタカナ.txtは
区別されると困るか区別して欲しいかは個人の好みだな
119デフォルトの名無しさん
2024/12/06(金) 11:15:10.72ID:kzR0LSsc
>>111,118
主観と好みの問題だから、現状がそれを孕んでいるかどうか心配ならNKFCで突合チェックしたら良いだけかな
120デフォルトの名無しさん
2024/12/06(金) 13:01:51.55ID:tlsLperd
>>118
自分はまったく別物だろうという考えだが、逆にそれを同じと思う人がいるというのに驚きだ
121デフォルトの名無しさん
2024/12/06(金) 14:57:12.37ID:PqgirqmV
MacOS/iOS だと OS 的にファイル名はNFD強制なのでその2つ区別できないのが普通だな
Macユーザーは「半角カナはファイル名には使えない」という言い方してることが多いけど
122デフォルトの名無しさん
2024/12/06(金) 15:08:33.92ID:teqNcVuG
Windowsは大文字小文字の区別を付けないのがデフォルトなんだけど、
WSL内からアクセスする兼ね合いで区別設定できる(fsutil)

>>121
Macにも同様の理由でNFD強制解除の設定があるのでは?
123デフォルトの名無しさん
2024/12/06(金) 17:09:11.54ID:PqgirqmV
>>122
強制解除とかはなかったと思うが古い HFS+ と違って新しい APFS では論理的には書き込み可能なはず
一方でライブラリで、ファイルオープンする時にファイル名が強制的にNFD変換されるので通常のプログラムでは全部NFDになるのは避けられない
124デフォルトの名無しさん
2024/12/06(金) 20:10:41.64ID:77CvoLMD
Macが一番遅れているのは意外だな

> Mac で NAS (SMB) のファイルが見えない問題を Unicode 正規化方式を変えて解決
> Unicode 正規化方式として NFD を採用しているのは Mac なのに,SMB (NAS) を介してみると当の Mac だけがそういったファイルを認識できない(ことがある)というのはなんとも皮肉な結果ですね...。
125デフォルトの名無しさん
2024/12/06(金) 21:07:04.96ID:PqgirqmV
>>124
Mac はローカルファイルは NFD (っぽい独自仕様)で正規化されてる前提で、リモートのSMBの先は NFC (っぽい独自仕様)で正規化されている前提で動作するという謎仕様なので
Lunux は基本的に正規化されずに全部別の文字扱いで unicode の全文字が使える
Windows も基本的には正規化を前提にしていないが独自仕様の使えない文字がある
126デフォルトの名無しさん
2024/12/06(金) 21:22:50.16ID:XSDLieo6
わかりやすいようにたとえで説明するとさ、
オマエんちに人を招待したら、土足のまま上がってきた
オマエはイラっとするんじゃね? はいオマエ遅れてる〜
127デフォルトの名無しさん
2024/12/06(金) 21:35:56.15ID:PqgirqmV
服装カジュアルな場所でも常にスーツ着てきてスーツ着てないやつは家族だろうと友人だろうと全員無視するのが Mac 仕草
その上、自宅用と訪問用に別の種類のスーツを使い分けてて同じ種類のスーツ着てないと相手してくれない
128デフォルトの名無しさん
2024/12/07(土) 10:53:50.76ID:+zec5U9G
UnicodeはUnicodeで様々な言語の様々な表現ができるようにするなかで一意性についても
用途や目的によって方法は異なるとしているわけで、そもそもファイルをファイル名で特定するという
昔ながらのやり方との齟齬が出てきているのかもね。
使うなら使うでファイルシステムに用いる正規化ルールなどを定めなければならないんだろう。
129デフォルトの名無しさん
2024/12/07(土) 11:21:31.79ID:RCmjilK5
同一性やコロケーション問題として
path-win-ntfs、path-linux-ext4のようにunicodeでpath-localeを定めてicu実装されたら良いのにと思った事はあったけど、
それで他の方法が駆逐されるわけじゃなく新たなバリエーションを増やすだけだから、今は余計な事するなと思うよ
130デフォルトの名無しさん
2024/12/07(土) 11:21:45.13ID:prVW7qhX
>>128
ファイル名はOS的には単なる識別子なのでバイト列一致で良い
それを文字コードと絡めて正規化しようとするのがそもそもの間違い
バイト列をどのように解釈するかは別のレイヤーの問題
131デフォルトの名無しさん
2024/12/07(土) 11:44:07.08ID:3wlpERVS
FSとしてならそれでいい
OSをどの層までとするかでも変わってくるけど
マウント時に変換かけてOS間の相互運用気にしてほしい
ネットワーク透過考えるとパスはURIで扱いたいしね
132デフォルトの名無しさん
2024/12/07(土) 13:08:36.00ID:prVW7qhX
>>131
基本的にはアプリ側のライブラリ層でやるべきこと
OS標準ライブラリかユーザ追加ライブラリかはOSの思想によるし Linux とかだとOS標準ライブラリという考え方は縁遠いけど
マウントの時にファイルシステムで文字コード変換するのも否定しないけど、あくまで代替手段なので、固定ではなくオプションや設定で利用者で任意に変更できるべきもの
133デフォルトの名無しさん
2024/12/07(土) 14:01:25.11ID:8ekNK8XT
>他の方法が駆逐されるわけじゃなく新たなバリエーションを増やすだけ

ほんそれ
134デフォルトの名無しさん
2024/12/07(土) 14:17:40.72ID:Zwl6oBBL
まずはMacを駆逐しよう
135デフォルトの名無しさん
2024/12/07(土) 16:00:13.39ID:2Ddhf3xH
Mac で日本語を駆逐でいいんじゃね?
136デフォルトの名無しさん
2024/12/07(土) 21:42:37.76ID:1sWZyE4C
ファイル名にはASCIIにある文字しか使わないようにすれば解決
137デフォルトの名無しさん
2024/12/07(土) 21:44:45.68ID:prVW7qhX
>>136
ASCII のバックスラッシュが円記号になってしまう OS がるらしい
138デフォルトの名無しさん
2024/12/08(日) 03:07:43.02ID:h9KuPnHR
>>136
じゃあまずはASCII以外でここに書き込むのやめろよ
139デフォルトの名無しさん
2024/12/08(日) 04:05:29.89ID:Xxla/ZnP
>>138
ここにファイル名を書いてる人あまりいないと思うんだけど?
140デフォルトの名無しさん
2024/12/09(月) 11:25:01.55ID:uh4vUAM3
波ダッシュ(〜)と全角チルダ(〜)は違う文字
141デフォルトの名無しさん
2024/12/09(月) 12:17:56.89ID:Ne3E3UJU
JISで全角チルダ定義したのがアレだよな
全角しか表示できない場面のためだろうけど
142デフォルトの名無しさん
2024/12/09(月) 14:00:31.58ID:4HU/GnaT
>>141
JIS は全角と半角とか定義してない(定期
143デフォルトの名無しさん
2024/12/09(月) 14:37:46.18ID:+G8yezOA
>>142
えー、をMSIMEで変換したら
全角チルダ(U+FF5E)でした

抑揚のある伸ばし棒はこれが正解ですか?
144デフォルトの名無しさん
2024/12/09(月) 15:02:44.75ID:4HU/GnaT
>>143
知らん
MS が決めたことは MS に聞け
全角とか半角とか関係ない
145デフォルトの名無しさん
2024/12/09(月) 17:46:32.24ID:bX1qj24S
この板には表層的にMSを持ち出すだけで思考停止する若干一名がいるね
146デフォルトの名無しさん
2024/12/09(月) 18:34:12.95ID:4HU/GnaT
>>145
シフトJISの「波ダーシ」を unicode の「全角チルダ」にマッピングする CP932 を規定したのはマイクロソフト
マイクロソフト以外の Linux とか MacOS とかその他の各社OSではそうなっていない

マイクロソフトが何でこんなマッピングにしたのかは専門家でも分かんない謎
unicode がまだドラフトの時代にあわてて作業したのでミスっただけの可能性も指摘されてるが、一度決めたものは互換性のために変えられないのだろう点は理解できる
147デフォルトの名無しさん
2024/12/09(月) 23:51:59.27ID:TvtcjS7H
マイクロソフト憎しにも程がある
デマだめ絶対
148デフォルトの名無しさん
2024/12/13(金) 01:50:01.54ID:XDI5kMlm
マイクロソフトの場合親の敵の可能性があるから俺は許すね
気の済むまでじゃんじゃんやっといてくれ
149デフォルトの名無しさん
2024/12/13(金) 02:14:20.18ID:OiDxg/7M
unicode 規格が最初に作られた時サイトに参考情報として JIS と unicode のマッピング表が置いてあった
Linux も Mac も商用Unixもこの表に従ってJISの波ダーシを unicode の wave dash にマッピングした。さらに JISの規格書にもこのマッピングで記載された
ただ Microsoft 1社だけは JIS の波ダーシを unicode の fullwidth tilde にマッピングした

こんなんマイクロソフトの中の人以外に理由が分かるわけねーだろ
150デフォルトの名無しさん
2024/12/13(金) 11:09:50.07ID:ncXjn+FF
初期のUnicode仕様書の文字の形がおかしかったのがそもそもの原因なんだけどね

いまの仕様書では、〜(U+301C、波ダッシュ)は、~(U+FF5E、全角チルダ)と同じ字形だけど、
古いものは、上下反転した存在しない文字の形だったので、どちらに合わせるかを決める時点で、
MSは形の相似した全角チルダのU+FF5Eを、その他は仕様どおりの波ダッシュのU+301Cを割り当てた
更にMacは仕様書を無視して字形を変更し、現在の仕様書と同じようにU+301Cに本来の波ダッシュの形を割り当てた

ただ、上下反転した字形は、縦書きの際の全角チルダ(左右の順)文字を横書きにしたために紛れ込んだとも言われているので、
仕様書制定の段階で縦書きのある日本語を理解した人が加わっていなかったのだろうな

まぁ、仕様書の字形がおかしかったことがそもそもの原因ではあるけれど、
これの対応を話し合いをすることなく各社で独自に行なってしまったというのが一番大きいな
結局、日本語が軽んじられていたんだろうけど、なんとも間抜けな話
151デフォルトの名無しさん
2024/12/13(金) 11:39:54.50ID:OiDxg/7M
>>150
仕様書も文字の形がおかしかったはネットの素人が勝手に推測した迷信、文字形は規定していない
文字コード的にはフォントで変わる文字の形は意味がない

unicode の wave dash は JIS 第一水準の波ダージなどに対応する文字として準備された
unicode の互換領域の fullwidth tilde は EUC-JP とかで使用されいたJIS補助漢字のチルダをマッピングするために準備された
EUC-JP では ASCII の1バイト文字のチルダと補助漢字の2倍と文字のチルダに両方が使われていたので互換領域が必要だった

lud20241225233847
このスレへの固定リンク: http://5chb.net/r/tech/1723861080/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「文字コード総合スレ part15 」を見た人も見ています:
文字コード総合スレ Part10
文字コード総合スレ part13
顔文字総合スレ
顔文字板イベント総合スレ Part2
顔文字さん総合スレッド
十文字青 総合スレ67
十文字青 総合スレ69
十文字青 総合スレ65
マツダエチュード総合スレ
【金】有料ゴールドカード総合スレ
AGPビデオカード総合スレ Part32
コンパクトキーボード総合スレ Part9
コンパクトキーボード総合スレ Part11
コンパクトキーボード総合スレ Part10
コンパクトキーボード総合スレ Part12
コンパクトキーボード総合スレ Part13
【バースト】ベイブレード総合スレ 第61世代
【バースト】ベイブレード総合スレ 第77世代
【バースト】ベイブレード総合スレ 第66世代
【バースト】ベイブレード総合スレ 第49世代
【KONAMI音ゲー新作】ポラリスコード総合スレ☆1
【KONAMI音ゲー新作】ポラリスコード総合スレ☆2
コナン&ロバート・E・ハワード総合スレ
全国ICカード総合スレ Part17 【10種相互利用】
【KONAMI音ゲー新作】ポラリスコード総合スレ☆3
VISA JCB Master 銀聯 デビットカード総合スレ
【統失出禁】全国ICカード総合スレ Part15 【10種】
【TREK】トレック ロード総合スレ Part136【ROAD】
【TREK】トレック ロード総合スレ Part137【ROAD】
【TREK】トレック ロード総合スレ Part113【ROAD】
【TREK】トレック ロード総合スレ Part127【ROAD】
【TREK】トレック ロード総合スレ Part126【ROAD】
【TREK】トレック ロード総合スレ Part116【ROAD】
【TREK】トレック ロード総合スレ Part130【ROAD】
【TREK】トレック ロード総合スレ Part101【ROAD】
【TREK】トレック ロード総合スレ Part102【ROAD】
【TREK】トレック ロード総合スレ Part111【ROAD】
【TREK】トレック ロード総合スレ Part105【ROAD】
【バースト】ベイブレード総合スレ 第48世代 [無断転載禁止]
【TREK】トレック ロード総合スレ Part84【ROAD】 &copy;2ch.net
【2次元コード】QRコード総合スレ2【バーコード】
パックロッド総合スレ
シマノロッド総合スレ
声優アワード総合スレ56
声優アワード総合スレ83
声優アワード総合スレ88
声優アワード総合スレ87
声優アワード総合スレ51
アンバスケード総合スレ3
声優アワード総合スレ57
声優アワード総合スレ62
声優アワード総合スレ48
声優アワード総合スレ58
声優アワード総合スレ53
デビットカード総合スレ58
ビリヤード総合スレ ★11
24人レイド総合スレ Part30
カタボリックステロイド総合スレ
ETCカード総合スレッド 13番レーン
海外旅行板デビットカード総合スレ1
【FF14】24人レイド総合スレ Part2
【FF14】24人レイド総合スレ Part20
【FF14】24人レイド総合スレ Part26
【FF14】24人レイド総合スレ Part14
【FF14】24人レイド総合スレ Part29
07:39:23 up 26 days, 18:03, 0 users, load average: 8.40, 8.04, 8.44

in 2.0985310077667 sec @2.0985310077667@0b7 on 010721