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
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と同じように淘汰はされていくと思うが。
441デフォルトの名無しさん
2023/10/11(水) 14:25:41.16ID:+taOca1a 拡大解釈を結論としちゃうとそりゃ永遠に終わらんよな
442デフォルトの名無しさん
2023/10/11(水) 16:29:14.72ID:dsbLch4n もう恥ずかしいからやめろよ
443デフォルトの名無しさん
2023/10/11(水) 16:32:12.66ID:iAp1htgn 文字コードの自動判定でBOMが欲しいんでしょ
だったら日本人的には当面ありの方がいいんじゃないの
だったら日本人的には当面ありの方がいいんじゃないの
444デフォルトの名無しさん
2023/10/11(水) 17:54:36.20ID:UpuL/ixe まじで文字コード判定でBOM必要とするなんてExcel以外にしらんし
他にならって決め打ちか失敗前提で推測する実装にしとけばこんなことにはならなんだ
他にならって決め打ちか失敗前提で推測する実装にしとけばこんなことにはならなんだ
445デフォルトの名無しさん
2023/10/11(水) 23:59:31.72ID:Bi4J/pND446デフォルトの名無しさん
2023/10/12(木) 21:40:02.12ID:HDD8qAO3 UTF8を使うのが普通だったりエンコーディングを指定できる所ばかりじゃないんだからBOMがあるのは仕方ない
447デフォルトの名無しさん
2023/10/12(木) 22:03:04.02ID:/ksYFMDD448デフォルトの名無しさん
2023/10/12(木) 22:26:37.40ID:dSlEv+Dk visual studioもbom必要
設定でutf8指定したら不要だけど
外部のソースまでutf8前提になるので踏み切れない
設定でutf8指定したら不要だけど
外部のソースまでutf8前提になるので踏み切れない
449デフォルトの名無しさん
2023/10/12(木) 23:49:07.23ID:vmLUU1Bo いわゆるWindows PowerShell(5.x系)も、日本語を含むスクリプトの場合は BOM付きUTF-8 で保存する必要がある
文字コード、改行コード(何らかのデミリタ)に関わる問題は果てしなく続く
そして、文字数カウント問題も...
文字コード、改行コード(何らかのデミリタ)に関わる問題は果てしなく続く
そして、文字数カウント問題も...
450デフォルトの名無しさん
2023/10/13(金) 08:42:04.37ID:QFEuT346 >>447
Mac, iPhone も Linux, android も BOM なし UTF8 オンリーで、十分いけてることを考ええると、
UTF8にBOM必要とかいってるやつも、日本語 Windows の system locale が UTF8 なったら手のひら返すだろうね
Mac, iPhone も Linux, android も BOM なし UTF8 オンリーで、十分いけてることを考ええると、
UTF8にBOM必要とかいってるやつも、日本語 Windows の system locale が UTF8 なったら手のひら返すだろうね
451デフォルトの名無しさん
2023/10/13(金) 09:08:31.59ID:Zvnb58M2 必要だから使っているだけで、必要なくなったら使わなくなるだけ。
手のひら返すって発想が出るのはこれをなにか派閥争いや宗教的対立ととらえているんだろうな。
手のひら返すって発想が出るのはこれをなにか派閥争いや宗教的対立ととらえているんだろうな。
452414
2023/10/13(金) 09:49:50.49ID:e5Ke0Kb/ みんなうるさいなぁ…全然寝れないじゃん!
結論は出ない…という結論が出てるんだから
もうみんな静かにしといて欲しいわ
ホントの結論が出たら起こしてねw
結論は出ない…という結論が出てるんだから
もうみんな静かにしといて欲しいわ
ホントの結論が出たら起こしてねw
453デフォルトの名無しさん
2023/10/13(金) 09:59:16.16ID:an/6eWNJ UTF-8にBOMは不要だがBOMを要求する出来の悪いアプリが存在するというだけの話
アプリを修正すればいいだけなのに出来の悪い子のためにBOM付きファイルを広めようとするから迷惑がられる
アプリを修正すればいいだけなのに出来の悪い子のためにBOM付きファイルを広めようとするから迷惑がられる
454デフォルトの名無しさん
2023/10/13(金) 20:19:14.08ID:Zvnb58M2 こう、「出来の悪い」とか要らん煽りをちょいちょい挟んでくるのがな
455デフォルトの名無しさん
2023/10/13(金) 21:36:36.55ID:UzC3xoYA 環境のCPのエンコーディングとUTF-8を両対応したくてBOMを導入した設計は偏狭
専用の閉じたデータなら勝手にどうぞだけどCSVファイルだよ
出来が悪いにもほどがある
専用の閉じたデータなら勝手にどうぞだけどCSVファイルだよ
出来が悪いにもほどがある
456デフォルトの名無しさん
2023/10/13(金) 22:08:36.81ID:Zvnb58M2 一応Unicode規格に定められた仕様なわけだがそれを正しく実装しても出来が悪い呼ばわりするわけだな
457デフォルトの名無しさん
2023/10/13(金) 23:15:47.89ID:SKnf/8eA458デフォルトの名無しさん
2023/10/14(土) 00:20:16.97ID:U0vUYMwi459デフォルトの名無しさん
2023/10/14(土) 12:58:12.11ID:x03gZ5vc VC++はコンパイルオプションでBOM無し通るようになったから許す
460デフォルトの名無しさん
2023/10/14(土) 23:17:30.52ID:BgrcFKKf あ、そうか。UTF-8なのにBOM入りにする理由はコードの自動判別のためか。
461デフォルトの名無しさん
2023/10/15(日) 01:20:23.94ID:QRU3KQek >>460
Windows は文字コードの指定がないとシステムロカールに設定されている文字コード(日本語WiIndows11だとCP932=SJIS)という約束になっていて、これを変更せずに UTF−8 を使いたいがための苦肉の策だった(過去形)。
最近はマイクロソフトはこの約束を破棄して標準を UTF−8 にするよう要請してるし、将来システムロケールのデフォルトを UTF−8 に変更することは確実なので、単なる経過措置。
Windows は文字コードの指定がないとシステムロカールに設定されている文字コード(日本語WiIndows11だとCP932=SJIS)という約束になっていて、これを変更せずに UTF−8 を使いたいがための苦肉の策だった(過去形)。
最近はマイクロソフトはこの約束を破棄して標準を UTF−8 にするよう要請してるし、将来システムロケールのデフォルトを UTF−8 に変更することは確実なので、単なる経過措置。
462デフォルトの名無しさん
2023/10/15(日) 01:39:21.51ID:xER5snLk メモ帳のデフォルトの文字コードは、BOM付きUTF-8
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 青銅聖闘士のパンチは音速←わかる 白銀聖闘士はその数倍←まぁわかる 黄金聖闘士は光速←は?
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- さわやかって
- 生活保護を受けている私だけど、おはようございます。
- 【朗報】ローソン「Мサイズのカップを購入してLサイズのコーヒーを入れてくださいね」 [455031798]
