Windows NTは初代からUnicodeがネイティブの文字コードです。cp932ではありません。
プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
UTF-8、Shift_JIS、JIS、EUC、Unicode、UCS、サロゲートペア、コードポイント、文字コード判定、
合成文字、ソート、TRON、外字コード、その他について語り合いましょう。
各言語での文字列の扱いについての質問もOKです。
基本マッターリ、ささ、茶でもどうぞ。
■過去スレ
文字コード総合スレ part1 http://pc11.2ch.net/test/read.cgi/tech/1031028205/
文字コード総合スレ part2 http://pc11.2ch.net/test/read.cgi/tech/1143375639/
文字コード総合スレ part3 http://pc11.2ch.net/test/read.cgi/tech/1180250376/
文字コード総合スレ part4 http://pc11.2ch.net/test/read.cgi/tech/1228052369/
(スレ再利用)UnicodeとUTF-8の違いは? http://pc12.2ch.net/test/read.cgi/tech/1177930957/
(隔離スレ)UnicodeとUTF-8の違いは? その2 http://pc12.2ch.net/test/read.cgi/tech/1274937437/
文字コード総合スレ part5 http://pc12.2ch.net/test/read.cgi/tech/1236529563/
文字コード総合スレ part6 http://hibari.2ch.net/test/read.cgi/tech/1278923059/
文字コード総合スレ part7 http://toro.2ch.net/test/read.cgi/tech/1306595564/
文字コード総合スレ part8 http://peace.2ch.net/test/read.cgi/tech/1354248962/
文字コード総合スレ part9 http://peace.2ch.net/test/read.cgi/tech/1401301779/
文字コード総合スレ Part10 http://mevius.2ch.net/test/read.cgi/tech/1444822140/
文字コード総合スレ Part11 https://mevius.5ch.net/test/read.cgi/tech/1516629503/
文字コード総合スレ Part12 https://mevius.5ch.net/test/read.cgi/tech/1544931495/
文字コード総合スレ part13
https://mevius.5ch.net/test/read.cgi/tech/1593777227/
文字コード総合スレ part14
■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 15:46:58.08ID:yKqwMGHT
341デフォルトの名無しさん
2023/06/25(日) 20:41:53.62ID:0nHjw2pZ342デフォルトの名無しさん
2023/06/25(日) 21:34:04.71ID:nujrLvHq >>336
ほとんどのプログラムって言っていたのが随分と対象が減ったな
ほとんどのプログラムって言っていたのが随分と対象が減ったな
343デフォルトの名無しさん
2023/06/25(日) 21:49:59.79ID:ySKqPmeW344デフォルトの名無しさん
2023/06/25(日) 21:54:46.00ID:ySKqPmeW どうせ今の話しか知らんくせに
やってみたら動いているみたいだから
昔から対応していたみたいの思ってるんだろうけど
これとか読んだら?
GNU Coreutils - Multibyte/unicode support
https://crashcourse.housegordon.org/coreutils-multibyte-support.html
やってみたら動いているみたいだから
昔から対応していたみたいの思ってるんだろうけど
これとか読んだら?
GNU Coreutils - Multibyte/unicode support
https://crashcourse.housegordon.org/coreutils-multibyte-support.html
345デフォルトの名無しさん
2023/06/25(日) 21:56:04.00ID:ySKqPmeW 多くの人の努力によってようやくUTF-8に対応しつつあるというのに
ASCIIのままのプログラムでUTF-8でも動くとか
あーほみたいじゃなくて、あーほ
ASCIIのままのプログラムでUTF-8でも動くとか
あーほみたいじゃなくて、あーほ
346デフォルトの名無しさん
2023/06/25(日) 22:09:28.31ID:0nHjw2pZ347デフォルトの名無しさん
2023/06/25(日) 22:10:52.26ID:ySKqPmeW348デフォルトの名無しさん
2023/06/25(日) 22:18:03.54ID:ySKqPmeW だいたいASCIIにしか対応してないプログラムって言ってんだから
ロケールにも対応してないに決まってるだろ
頭悪そうじゃなくて、頭悪い。
ロケールにも対応してないに決まってるだろ
頭悪そうじゃなくて、頭悪い。
349デフォルトの名無しさん
2023/06/25(日) 22:22:23.09ID:0nHjw2pZ >>345
gnu や linux は商用unixの後追いで互換ツール作ってたんだよ。商用unixは皆対応できてた。
こっちとら linux の黎明期に glibc や gnu tool の locale 実装手伝ってたりしたんだが、お前何やったの?
gnu や linux は商用unixの後追いで互換ツール作ってたんだよ。商用unixは皆対応できてた。
こっちとら linux の黎明期に glibc や gnu tool の locale 実装手伝ってたりしたんだが、お前何やったの?
350デフォルトの名無しさん
2023/06/25(日) 22:24:10.92ID:ySKqPmeW351デフォルトの名無しさん
2023/06/25(日) 22:25:47.25ID:ySKqPmeW 俺が何をやったかだって?
お前よりすごいことをしていたよ
守秘義務があるから言えないけどなwww
お前よりすごいことをしていたよ
守秘義務があるから言えないけどなwww
352デフォルトの名無しさん
2023/06/25(日) 22:25:52.06ID:0nHjw2pZ >>348
336の話してるんだが、どこで言ったの? 脳内? ASCII しか対応してないって何時の時代の話? お前何か参加したの?
336の話してるんだが、どこで言ったの? 脳内? ASCII しか対応してないって何時の時代の話? お前何か参加したの?
353デフォルトの名無しさん
2023/06/25(日) 22:30:06.30ID:ySKqPmeW > ASCII しか対応してないって何時の時代の話?
まさか全アメリカ人がUTF-8に目覚めたとでも思ってるのか?w
まさか全アメリカ人がUTF-8に目覚めたとでも思ってるのか?w
354デフォルトの名無しさん
2023/06/25(日) 22:31:57.20ID:ySKqPmeW 今もUnicode・UTF-8に非対応で、
本当は一文字なのに三文字とか間違える実装を知らんのだろうな
本当は一文字なのに三文字とか間違える実装を知らんのだろうな
355デフォルトの名無しさん
2023/06/25(日) 22:34:23.36ID:ySKqPmeW 漢字1文字が最大8バイト、Unicodeの「IVS」とは?
https://xtech.nikkei.com/it/article/COLUMN/20100126/343783/
https://xtech.nikkei.com/it/article/COLUMN/20100126/343783/
356デフォルトの名無しさん
2023/06/25(日) 22:34:25.42ID:0nHjw2pZ UTF-8 が来た時には既に locale があった
locale に対応していたれば同じバイナリで UTF-8 も扱えたので、UTF-8 に対応するめの改修とかする必要なかった
locale に対応していたれば同じバイナリで UTF-8 も扱えたので、UTF-8 に対応するめの改修とかする必要なかった
357デフォルトの名無しさん
2023/06/25(日) 22:37:12.38ID:0nHjw2pZ 個々のツールを改修する必要はなくて、OS側のライブラリを改修することで対応するという基本的な考え方が理解できてないんだろうな。
358デフォルトの名無しさん
2023/06/25(日) 22:40:53.01ID:ySKqPmeW どうやらASCIIしか考慮してないプログラムは
そのOS側のライブラリを使ってないということに
思い至らないようだw
それともなにか?printfをロケール対応に
仕様変更するきかね?www
そのOS側のライブラリを使ってないということに
思い至らないようだw
それともなにか?printfをロケール対応に
仕様変更するきかね?www
359デフォルトの名無しさん
2023/06/25(日) 22:41:32.64ID:9S6fsVfv >>335
wc
wc
360デフォルトの名無しさん
2023/06/25(日) 22:42:37.03ID:ySKqPmeW UTF-8 が来た時には既に locale があった
だがlocale に対応していないプログラムがたくさんあった
だがlocale に対応していないプログラムがたくさんあった
361デフォルトの名無しさん
2023/06/25(日) 23:21:26.81ID:0nHjw2pZ >>360
で336のうちどれの話?
で336のうちどれの話?
362デフォルトの名無しさん
2023/06/26(月) 10:16:30.84ID:lZKUXxOT >>358
ISO/IEC 9899:1990/Amendment1:1995(C95)の7.9.6.1と7.9.6.3より
printfの仕様はロケール対応では?
%sの代わりに%lsでワイドキャラクタを扱える
ISO/IEC 9899:1990/Amendment1:1995(C95)の7.9.6.1と7.9.6.3より
printfの仕様はロケール対応では?
%sの代わりに%lsでワイドキャラクタを扱える
363デフォルトの名無しさん
2023/06/26(月) 10:35:51.62ID:wgwkla1B >>358
商業UNIXはlibcレベルから各文字コード対応だったんだよ
商業UNIXはlibcレベルから各文字コード対応だったんだよ
364デフォルトの名無しさん
2023/06/26(月) 10:39:44.57ID:lZKUXxOT なんかCの仕様をわかっていない人がいるような
Cのプログラムをロケールを利用した国際化対応するには冒頭でsetlocale()を
呼ぶだけでなくて、文字をcharではなくwchar_tで扱い、fgetsの代わりにfgetwsを
使うなどワイドキャラクタ対応のw系関数で文字を処理するに変更するか、printfや
scanf系関数で%sの代わりに%lsで扱う
Cのユニコード関連の仕様はISO/IEC 9899:2011(C11)で導入され、6.4の\u,\U, u'',U''と
7.27のuchar.hで定義されたchar16_t, char32_tがユニコード関連
これらはロケールやwchar_tとは別概念なはず
Cのプログラムをロケールを利用した国際化対応するには冒頭でsetlocale()を
呼ぶだけでなくて、文字をcharではなくwchar_tで扱い、fgetsの代わりにfgetwsを
使うなどワイドキャラクタ対応のw系関数で文字を処理するに変更するか、printfや
scanf系関数で%sの代わりに%lsで扱う
Cのユニコード関連の仕様はISO/IEC 9899:2011(C11)で導入され、6.4の\u,\U, u'',U''と
7.27のuchar.hで定義されたchar16_t, char32_tがユニコード関連
これらはロケールやwchar_tとは別概念なはず
365デフォルトの名無しさん
2023/06/26(月) 11:12:59.67ID:15L3klhZ >>364
順番とか歴史を理解してる?
国際化するのに locale という仕組みが提案さてて wchar_t が導入され、OS標準ツールは言語や文字コードを切り替えられるようになった
その後に多言語化のために unicode と UTF-8 が出てきて locale 対応しているプログラムは変更なく多言語化できるようになった
比較的最近になって、もう新しいプログラムは unicode だけ対応していれば 十分で locale 対応いらないんじゃね? という大雑把アメリカンな考えが出てきて char32_t みたいな仕組みが作られた
国ごとに仕組み違うし、言語ごとに文字の定義とか違うんだから unicode あっても locale 無くせないんだよ。というアメリカ以外からの当然の反発もあって
今は、真面目に国際化対応が必要なやつは locale, そんなん気にしなくて良いやつは生UTF-32, Windowsと互換性が最重要なら生UTF-16みたいな棲み分けになってる
順番とか歴史を理解してる?
国際化するのに locale という仕組みが提案さてて wchar_t が導入され、OS標準ツールは言語や文字コードを切り替えられるようになった
その後に多言語化のために unicode と UTF-8 が出てきて locale 対応しているプログラムは変更なく多言語化できるようになった
比較的最近になって、もう新しいプログラムは unicode だけ対応していれば 十分で locale 対応いらないんじゃね? という大雑把アメリカンな考えが出てきて char32_t みたいな仕組みが作られた
国ごとに仕組み違うし、言語ごとに文字の定義とか違うんだから unicode あっても locale 無くせないんだよ。というアメリカ以外からの当然の反発もあって
今は、真面目に国際化対応が必要なやつは locale, そんなん気にしなくて良いやつは生UTF-32, Windowsと互換性が最重要なら生UTF-16みたいな棲み分けになってる
366デフォルトの名無しさん
2023/06/26(月) 11:45:10.68ID:OOvp3Qkm utf-8になってもロケールは必要だよね
言語や地域ごとに処理を変えないといけないから
例えば同じ文字を使っていても辞書順が違うことがある
発音記号の取り扱いとか
それからwchar_t+Unicodeのみで処理する枠組みはうまくいかなかった
ASCII文字だけ扱いたい時
Unicode以前旧世界との互換性
を考えると
結局世界はMBCSと付き合わざるを得ない事に納得し
wchar_t+Unicodeは速いindexingが必要な内部表現だけで使うことになった
言語や地域ごとに処理を変えないといけないから
例えば同じ文字を使っていても辞書順が違うことがある
発音記号の取り扱いとか
それからwchar_t+Unicodeのみで処理する枠組みはうまくいかなかった
ASCII文字だけ扱いたい時
Unicode以前旧世界との互換性
を考えると
結局世界はMBCSと付き合わざるを得ない事に納得し
wchar_t+Unicodeは速いindexingが必要な内部表現だけで使うことになった
367デフォルトの名無しさん
2023/06/26(月) 11:51:20.62ID:uBe3VRyC localeに対応しているlessコマンドはsjisファイルも読めるん?
368デフォルトの名無しさん
2023/06/26(月) 12:04:29.17ID:OOvp3Qkm >>367
昔の商業UNIXにlessはなくてmoreだけど
ja_JP.sjis
に設定すれば
Solarisでは2byte目\問題もなかった
もちろん内部的にはMBCS stringとして扱ってる
euc-jpだってMBCSなのだから
ちなみにSolarisの場合はこの辺の処理は
ハードコーディングではなくテーブルドリブンだった
昔の商業UNIXにlessはなくてmoreだけど
ja_JP.sjis
に設定すれば
Solarisでは2byte目\問題もなかった
もちろん内部的にはMBCS stringとして扱ってる
euc-jpだってMBCSなのだから
ちなみにSolarisの場合はこの辺の処理は
ハードコーディングではなくテーブルドリブンだった
369デフォルトの名無しさん
2023/06/26(月) 12:07:04.06ID:OOvp3Qkm ただこの辺の努力は全て水泡に帰して
GNU Linux全盛期に入ったわけだ
つまり文字コード対応はutf-8をベースにして
各言語対応は車輪の再発明をしなければならなかったし
まだ当時に追いついてもいない
GNU Linux全盛期に入ったわけだ
つまり文字コード対応はutf-8をベースにして
各言語対応は車輪の再発明をしなければならなかったし
まだ当時に追いついてもいない
370デフォルトの名無しさん
2023/06/26(月) 12:44:13.00ID:15L3klhZ >>369
再発明とかはやってないぞ
普通に gnu tool も昔から locale 対応してるし、今もそう
ただ、まだマイナーなバグや使い難い仕様が一杯残ってるねってだけ。国際化でなくて、特に多言語化のまわりが熟れてない
ユーザーにも一部の開発者にも国際化と多言語化の違いとか、機構と文字コードの違いが良くわかってないやつがいて
本来は「多言語化に問題がある」というべきところを「UTF-8の処理に問題がある」という言い方をしがち
再発明とかはやってないぞ
普通に gnu tool も昔から locale 対応してるし、今もそう
ただ、まだマイナーなバグや使い難い仕様が一杯残ってるねってだけ。国際化でなくて、特に多言語化のまわりが熟れてない
ユーザーにも一部の開発者にも国際化と多言語化の違いとか、機構と文字コードの違いが良くわかってないやつがいて
本来は「多言語化に問題がある」というべきところを「UTF-8の処理に問題がある」という言い方をしがち
371デフォルトの名無しさん
2023/06/26(月) 12:54:23.97ID:15L3klhZ ここでも知らんやつもいるかもしれないので、一応書いておくと
国際化(i18n): 文字コードとか言語とかを切り替えて使えるようにする機構
多言語化(m17n): 一つのテキストの中に複数の言語の文章を含めることができるようにする機構
国際化(i18n): 文字コードとか言語とかを切り替えて使えるようにする機構
多言語化(m17n): 一つのテキストの中に複数の言語の文章を含めることができるようにする機構
372デフォルトの名無しさん
2023/06/26(月) 13:12:12.62ID:15L3klhZ unicode という規格には
(A) 純粋に文字コードを定義している部分。どの文字にどのコードを割り当て、それをどのように符号化するか。UTF-8 は符号化の名前
(B) unicode を使ってどのように多言語化(m17n)を実現するかの部分。標準的な多言語化を提案する。IVSの対応とかはこっち
の2つが含まれてる。
今いろいろやってるのは (B) 側の話。UTF-8対応やってるんじゃなくて「多言語化」対応やってる
(A) 純粋に文字コードを定義している部分。どの文字にどのコードを割り当て、それをどのように符号化するか。UTF-8 は符号化の名前
(B) unicode を使ってどのように多言語化(m17n)を実現するかの部分。標準的な多言語化を提案する。IVSの対応とかはこっち
の2つが含まれてる。
今いろいろやってるのは (B) 側の話。UTF-8対応やってるんじゃなくて「多言語化」対応やってる
373デフォルトの名無しさん
2023/06/26(月) 16:20:01.13ID:LAEwcUbv 多言語化は国際化に含まれますか?
374デフォルトの名無しさん
2023/06/26(月) 17:50:33.08ID:e5otmU9r >>372
それもちょっと違うね
「(A) 純粋に文字コードを定義している部分」にUTF8は全く関係ない
そこでは各文字にコード割り当て定義されていてコードは一意に定まる
一方でUTF8やUTF16などはそのコードのエンコーディングの話であり文字コード割り当てとは独立した全く別の話になるね
それもちょっと違うね
「(A) 純粋に文字コードを定義している部分」にUTF8は全く関係ない
そこでは各文字にコード割り当て定義されていてコードは一意に定まる
一方でUTF8やUTF16などはそのコードのエンコーディングの話であり文字コード割り当てとは独立した全く別の話になるね
375デフォルトの名無しさん
2023/06/26(月) 18:30:16.65ID:15L3klhZ >>374
エンコードはコードじゃないという主張の人なの? 珍しいな
エンコードはコードじゃないという主張の人なの? 珍しいな
376デフォルトの名無しさん
2023/06/26(月) 19:03:46.54ID:CwqPR/Mz >>375
そこは全く異なるのがユニコードの基本
例えば「あ」はコードポイントU+3042と一意に定められている
これはエンコーディング方式に関係なく一意に定まる
エンコーディング方式が増えたり廃止されたりしても影響を受けない
一方でこのコードポイントを扱う時に環境や状況に応じて様々なエンコーディング方式を取ることができる
例えばコードポイントは16bitに収まりきらないので32bitに入れるのがUTF32
「あ」はコードポイントU+3042なのでUTF32だと0x00003042となる
UTF8は8bit前半をascii互換とし8bit後半の不定長列を非asciiに割り当てる
「あ」はコードポイントU+3042なのでUTF8だと0xE3 0x81 0x82となる
このようにコードポイント割り当てとエンコーディングは全く独立した別の分野
そこは全く異なるのがユニコードの基本
例えば「あ」はコードポイントU+3042と一意に定められている
これはエンコーディング方式に関係なく一意に定まる
エンコーディング方式が増えたり廃止されたりしても影響を受けない
一方でこのコードポイントを扱う時に環境や状況に応じて様々なエンコーディング方式を取ることができる
例えばコードポイントは16bitに収まりきらないので32bitに入れるのがUTF32
「あ」はコードポイントU+3042なのでUTF32だと0x00003042となる
UTF8は8bit前半をascii互換とし8bit後半の不定長列を非asciiに割り当てる
「あ」はコードポイントU+3042なのでUTF8だと0xE3 0x81 0x82となる
このようにコードポイント割り当てとエンコーディングは全く独立した別の分野
377デフォルトの名無しさん
2023/06/26(月) 19:14:59.15ID:b1vEmQDc378デフォルトの名無しさん
2023/06/26(月) 19:27:42.67ID:Wnoei0OS バイト表現と文字コード体系は別の概念
379デフォルトの名無しさん
2023/06/26(月) 22:19:22.18ID:15L3klhZ380デフォルトの名無しさん
2023/06/26(月) 23:14:57.66ID:zFI2p9hF その感覚はないな
\uXXXXや数値文字参照で指定する値という認識じゃね?
コードポイントそのもの
\uXXXXや数値文字参照で指定する値という認識じゃね?
コードポイントそのもの
381デフォルトの名無しさん
2023/06/27(火) 00:02:41.00ID:fkxIsCCD382デフォルトの名無しさん
2023/06/27(火) 00:31:42.23ID:TcukIZUS character encoding system = encoding method + character set
383デフォルトの名無しさん
2023/06/27(火) 00:39:10.68ID:0oaaTR6k 文字コードポイントとそのエンコーディングの区別ができてやつがいるな
例えばUTF8の0xE3 0x81 0x82を文字コードポイントとは言わない
あくまでも文字コードポイントはU+3042であり0xE3 0x81 0x82はUTFでエンコーディングした時のバイト列にすぎない
例えばUTF8の0xE3 0x81 0x82を文字コードポイントとは言わない
あくまでも文字コードポイントはU+3042であり0xE3 0x81 0x82はUTFでエンコーディングした時のバイト列にすぎない
384デフォルトの名無しさん
2023/06/27(火) 01:24:36.76ID:fkxIsCCD >>382
+ の後ろを coded character set 「符号化文字集合」とした方がより良いな
+ の後ろを coded character set 「符号化文字集合」とした方がより良いな
385デフォルトの名無しさん
2023/06/27(火) 07:10:50.09ID:TcukIZUS386デフォルトの名無しさん
2023/06/27(火) 09:02:31.09ID:fkxIsCCD >>385
規格によって用語の意味が違うので難しいところだねインターネットのRFCとかだと正式用語は
code character set + character encoding scheme
それぞれCCSとCESと略されることもある
一般的な日本訳は「符号化文字集合」と「文字符号化方式」かな
規格によって用語の意味が違うので難しいところだねインターネットのRFCとかだと正式用語は
code character set + character encoding scheme
それぞれCCSとCESと略されることもある
一般的な日本訳は「符号化文字集合」と「文字符号化方式」かな
387デフォルトの名無しさん
2023/06/27(火) 09:03:47.40ID:fkxIsCCD >>386
dが抜けた。coded character set ね
dが抜けた。coded character set ね
388デフォルトの名無しさん
2023/06/30(金) 18:08:26.89ID:9szWkPbV >>383
お前は文字コードとエンコードの区別はついているか?
お前は文字コードとエンコードの区別はついているか?
389デフォルトの名無しさん
2023/07/01(土) 03:56:24.34ID:LJyXb+JQ 数学の写像だと考えればいいのでは
390デフォルトの名無しさん
2023/07/11(火) 16:13:44.17ID:heSsZz8c てすと🌀🌀
391デフォルトの名無しさん
2023/07/27(木) 22:11:05.51ID:u2yUFzzA 𝕏
392デフォルトの名無しさん
2023/07/28(金) 00:23:42.06ID:8p3s4hKM フフフ
393デフォルトの名無しさん
2023/07/28(金) 00:51:45.87ID:9nGZuQCT 文字コードって誰が作ってんの?
394デフォルトの名無しさん
2023/07/28(金) 02:16:49.64ID:6UVKXpPK >>393
誰が作っても良い。他人に使ってもらえるかは知らんが
誰が作っても良い。他人に使ってもらえるかは知らんが
395デフォルトの名無しさん
2023/07/28(金) 02:28:54.58ID:9nGZuQCT 俺用の文字コードを作れば、漏洩して悪意ある他人が見ても文字化けで意味不明ってことか。
396デフォルトの名無しさん
2023/07/28(金) 19:41:58.97ID:25x9IMWE まず13文字ずらします
397デフォルトの名無しさん
2023/07/29(土) 08:13:24.61ID:ej8Wm4VI おおジュリアス・シーザー
398デフォルトの名無しさん
2023/07/29(土) 14:26:21.89ID:fTZOzdc3 カエサル派にとっては意味不明ってことか。
399デフォルトの名無しさん
2023/08/04(金) 14:46:46.47ID:XLfSEGlw コードずらしただけだと出現頻度でばれるって話
400デフォルトの名無しさん
2023/08/04(金) 18:06:48.16ID:v1ivVYRs -・ ・・- ・-・・ ・-・・ ・--・ ---
401デフォルトの名無しさん
2023/08/18(金) 15:49:14.73ID:s/AKDW6W macOS上の話ですが、'が’という名前のフォルダを作ってその名前をシェルで見ると
% ls | iconv -f utf-8 -t utf-16le | od -x -A n
304b 3099 000a
% echo * | iconv -f utf-8 -t utf-16le | od -x -A n
304c 000a
あれ、もしかしてシェル (zsh) がUnicodeの合成をしている?
% ls | iconv -f utf-8 -t utf-16le | od -x -A n
304b 3099 000a
% echo * | iconv -f utf-8 -t utf-16le | od -x -A n
304c 000a
あれ、もしかしてシェル (zsh) がUnicodeの合成をしている?
402デフォルトの名無しさん
2023/08/18(金) 23:53:14.80ID:mQKTVMWd bashでやると元のままでコマンドを外部コマンドにしても変わらないから
globがそういう動作なんやね
globがそういう動作なんやね
403デフォルトの名無しさん
2023/08/19(土) 00:16:00.94ID:Af/nXbF+ 正確に言うと MacOS の zsh のグロブだな。
404デフォルトの名無しさん
2023/08/19(土) 01:35:51.14ID:5L917aO4 >>403
もしかしてmacOS上以外のzshだと挙動が違ったりします?
もしかしてmacOS上以外のzshだと挙動が違ったりします?
405デフォルトの名無しさん
2023/08/19(土) 02:04:07.40ID:Af/nXbF+ >>404
違う
違う
406デフォルトの名無しさん
2023/08/19(土) 10:09:35.79ID:5L917aO4 >>405
確かに、zshのソースを見てみたらMac上だとファイル名を加工する処理が入ってました:
https://github.com/zsh-users/zsh/blob/master/Src/utils.c#L5169
確かに、zshのソースを見てみたらMac上だとファイル名を加工する処理が入ってました:
https://github.com/zsh-users/zsh/blob/master/Src/utils.c#L5169
407デフォルトの名無しさん
2023/08/19(土) 10:21:56.98ID:5L917aO4 が、果たしてそれはいい事なんだろうか。小さな親切大きなお世話という気もしないでもない
皆さんご存知macOS上のFSはファイル名がUnicodeの分解形になっているのだが、
上記により、シェル内でワイルドカードを使うとファイル名が合成形で得られる
その後、そのファイル名を加工して別のファイルを作ると、合成形でファイルが作られること
になる(macOSのUNIXレイヤーではパス名を分解形にすることは強制ではない)
結果、分解形のファイル名と合成形のファイル名がコンタミするではないか、と
皆さんご存知macOS上のFSはファイル名がUnicodeの分解形になっているのだが、
上記により、シェル内でワイルドカードを使うとファイル名が合成形で得られる
その後、そのファイル名を加工して別のファイルを作ると、合成形でファイルが作られること
になる(macOSのUNIXレイヤーではパス名を分解形にすることは強制ではない)
結果、分解形のファイル名と合成形のファイル名がコンタミするではないか、と
408デフォルトの名無しさん
2023/08/19(土) 10:44:11.66ID:Af/nXbF+ >>407
macOS には HFS+ と APFS というのがあってだな。
macOS には HFS+ と APFS というのがあってだな。
409デフォルトの名無しさん
2023/09/18(月) 15:14:20.26ID:lNC8R66h awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に!
https://qiita.com/ko1nksm/items/1a3e711bbd925657f5fd
やっぱりUTF-8に対応するにはアプリ側を修正しなきゃいけないって事ね
https://qiita.com/ko1nksm/items/1a3e711bbd925657f5fd
やっぱりUTF-8に対応するにはアプリ側を修正しなきゃいけないって事ね
410デフォルトの名無しさん
2023/09/18(月) 17:45:11.83ID:xE50yd7v >>409
そもそも、そういう用途は nawk じゃなくて gawk とか使ってるので今更 nawk が対応したと主張したところで意味無し
nawk は文字とバイトの区別すらついて無かった古典だし。POSIX?それ美味しいの?状態だったのがようやく今頃になって対応始めた感じ。まだ問題だらけなので文字コード区別必要な場面での使用は非推奨。
そもそも、そういう用途は nawk じゃなくて gawk とか使ってるので今更 nawk が対応したと主張したところで意味無し
nawk は文字とバイトの区別すらついて無かった古典だし。POSIX?それ美味しいの?状態だったのがようやく今頃になって対応始めた感じ。まだ問題だらけなので文字コード区別必要な場面での使用は非推奨。
411デフォルトの名無しさん
2023/09/21(木) 17:13:01.39ID:2fMT8T96 事故の予感しかしない
412デフォルトの名無しさん
2023/10/05(木) 21:37:01.18ID:629OTK1e 全ての開発者が知っておくべきUnicodeについての最低限の知識
https://gigazine.net/news/20231005-unicode/
https://gigazine.net/news/20231005-unicode/
413デフォルトの名無しさん
2023/10/06(金) 02:09:53.00ID:rMpfnI78 互換漢字のことを思い出してもいいですか
macOSのFinderで神というフォルダーを作ると神に変換される
Chrome上で神を検索すると神と神の両方にマッチする
Firefox上で神を検索すると神にはマッチしない
Firefox上で分解形の神︀で検索すると合成形の神にはマッチしない
Mozcで神︀を入力すると分解形がデフォ
みんなちがって、みんないい?
macOSのFinderで神というフォルダーを作ると神に変換される
Chrome上で神を検索すると神と神の両方にマッチする
Firefox上で神を検索すると神にはマッチしない
Firefox上で分解形の神︀で検索すると合成形の神にはマッチしない
Mozcで神︀を入力すると分解形がデフォ
みんなちがって、みんないい?
414デフォルトの名無しさん
2023/10/06(金) 09:13:41.28ID:r0aKLQgw おはよう
今起きたけど、UTF-8にBOMつけるか否か?結論は出た?
今起きたけど、UTF-8にBOMつけるか否か?結論は出た?
415デフォルトの名無しさん
2023/10/06(金) 09:59:40.01ID:Zl0hPCVy UTF-8にBOは存在しない
↓
BOMなんて概念が不要
議論も何も無い
↓
BOMなんて概念が不要
議論も何も無い
416デフォルトの名無しさん
2023/10/06(金) 11:34:57.64ID:rMpfnI78 >>413
>macOSのFinderで神というフォルダーを作ると神に変換される
このあたり、Appleには素のNFDとは少し違う独自の正規化を使うこだわりが
あったのだと思っていたけど、今は違うのかな?
>macOSのFinderで神というフォルダーを作ると神に変換される
このあたり、Appleには素のNFDとは少し違う独自の正規化を使うこだわりが
あったのだと思っていたけど、今は違うのかな?
417デフォルトの名無しさん
2023/10/06(金) 14:17:35.44ID:RyNaN3Hq >>415
元来の用途で使う可能性が無いからこそ新しいより有用な目的を割り当てて使えるのですね
元来の用途で使う可能性が無いからこそ新しいより有用な目的を割り当てて使えるのですね
418デフォルトの名無しさん
2023/10/06(金) 17:44:51.54ID:vOZibH++419デフォルトの名無しさん
2023/10/06(金) 18:03:58.96ID:vujaBc4z Firefoxの検索は半角カナの同一視もしてくれないからなあ
420デフォルトの名無しさん
2023/10/06(金) 21:14:36.66ID:VyRY/4o/ How can I get WideCharToMultiByte to convert strings encoded in UTF-16BE?
https://devblogs.microsoft.com/oldnewthing/20231005-00/?p=108854
UTB-16BEからShift_JISに変換したいとかいろんな要望があるものだな
https://devblogs.microsoft.com/oldnewthing/20231005-00/?p=108854
UTB-16BEからShift_JISに変換したいとかいろんな要望があるものだな
421デフォルトの名無しさん
2023/10/06(金) 21:24:18.57ID:cSD4ys+j >>415
正確には「UTF-8にバイトオーダーの違いはない」だな。
正確には「UTF-8にバイトオーダーの違いはない」だな。
422デフォルトの名無しさん
2023/10/06(金) 22:08:49.33ID:g8qFATdI JSONなどBOMを付与して送信してはいけないと明確に規定されていたり
BOMを取り扱わない規定やソフトウェアもあるため
UTF8ではBOMを付与しないほうが好ましい
BOMを取り扱わない規定やソフトウェアもあるため
UTF8ではBOMを付与しないほうが好ましい
423デフォルトの名無しさん
2023/10/06(金) 22:54:13.21ID:cSD4ys+j JSOINファイルに付けるなとは言ってないみたいよ
424デフォルトの名無しさん
2023/10/06(金) 23:20:11.94ID:tE7CLicd #!shebangの邪魔になるだろ
425デフォルトの名無しさん
2023/10/07(土) 09:59:00.66ID:I3+2vFW6426デフォルトの名無しさん
2023/10/07(土) 10:25:02.17ID:8Whhaa6B427デフォルトの名無しさん
2023/10/07(土) 10:55:59.28ID:dXS7C+xF >>425
execve の引数解釈が locale に従うのであれば BOM を付けるべきではない状況に該当すると思う。
execve の引数解釈が locale に従うのであれば BOM を付けるべきではない状況に該当すると思う。
428デフォルトの名無しさん
2023/10/07(土) 19:44:18.39ID:hE+46nhQ BOMなしがいいってのはAsciiしか対応してないレガシーソフトウェアに通したいから?
UTF8を意識できてるならBOMのありなしの両対応は簡単だし
UTF8を意識できてるならBOMのありなしの両対応は簡単だし
429デフォルトの名無しさん
2023/10/07(土) 20:50:45.55ID:iX5KyQz4 >>428
ファイルの接続とか分割にゴミ処理とかしないですむ。自分がいまから出力するのが先頭かどうか不明とかでも問題は起きない
ファイルの先頭とかには別の識別子置きたいアプリもある。先頭BOMが優先して使えるとか思い上がり。
そして何より、世の中すべて UTF-8 で情報交換すべきで、他の文字コードは内部コード以外は認めない。滅べば良いと本気で信じてるので BOM に使いみちなんかない。
だいたい最近の欧米の主張はこんな感じ。
ファイルの接続とか分割にゴミ処理とかしないですむ。自分がいまから出力するのが先頭かどうか不明とかでも問題は起きない
ファイルの先頭とかには別の識別子置きたいアプリもある。先頭BOMが優先して使えるとか思い上がり。
そして何より、世の中すべて UTF-8 で情報交換すべきで、他の文字コードは内部コード以外は認めない。滅べば良いと本気で信じてるので BOM に使いみちなんかない。
だいたい最近の欧米の主張はこんな感じ。
430デフォルトの名無しさん
2023/10/07(土) 21:50:44.31ID:gQ4GHwFf UTF8こそが不要で滅べば良い。I
431デフォルトの名無しさん
2023/10/08(日) 05:39:53.69ID:c7bH/Jal これからの時代は UTF-32
432デフォルトの名無しさん
2023/10/08(日) 05:43:54.93ID:c7bH/Jal なぁに。1バイトを32bitにしてしまえばエンディアンがどうのなどとつまらない事を考える必要もなくなる。BOMも不要。
433デフォルトの名無しさん
2023/10/08(日) 05:46:34.19ID:c7bH/Jal いいかげんチマチマと8bitづつ扱うようなケチな精神がいけない。
8bit CPU の事などもう忘れろ。
8bit CPU の事などもう忘れろ。
434デフォルトの名無しさん
2023/10/08(日) 12:38:49.49ID:BgGDjECm435デフォルトの名無しさん
2023/10/08(日) 13:46:55.09ID:VA0G2N7t >>434
つまり UTF1024 が必要ということだな
つまり UTF1024 が必要ということだな
436デフォルトの名無しさん
2023/10/09(月) 13:08:59.15ID:anIJ/4nw えっ
437414
2023/10/09(月) 14:11:34.76ID:o3mTrHdx ふーん
結局UTF-8にBOMつけるか否か?まだ結論は出てないんだな?
じゃあ、今からまた寝るから結論出たら教えて…おやすみ
結局UTF-8にBOMつけるか否か?まだ結論は出てないんだな?
じゃあ、今からまた寝るから結論出たら教えて…おやすみ
438デフォルトの名無しさん
2023/10/10(火) 07:39:18.70ID:dUGfQnTA 結論は出ない、永遠に寝てろ
439デフォルトの名無しさん
2023/10/10(火) 08:43:04.58ID:5iCI9hbC 結論も何も最初から規格上は「つけないことを推奨」。規格を無視するやつらは勝手につけてるだけ。
これ以上何に結論を出せと?
これ以上何に結論を出せと?
440デフォルトの名無しさん
2023/10/10(火) 09:13:29.30ID:aKJ84hs/ 禁止はしてないな。いくつか使用すべきではない状況はあるがそれ以外必要に応じて使ってよい。
まあいずれEUCと同じように淘汰はされていくと思うが。
まあいずれEUCと同じように淘汰はされていくと思うが。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 泣ける画像
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 戦争は無くならないし殺人は起きるし女はレイプされるし子供は餓死するし
- 女性検診なんでオナニーしてグチョグチョで行ってやる
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- ( ´・ω・` )朝ですぞー
