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
2023/03/06(月) 11:51:31.28ID:M8d550bg
2023/03/06(月) 12:05:50.90ID:lfXpWlV+
2023/03/06(月) 12:36:46.99ID:VJJWQXML
ま、積極的にBOMを使うのが運用として自然だから、BOMをつけるアプリがドンドン増える。
デファクトスタンダード。
デファクトスタンダード。
2023/03/06(月) 14:23:24.15ID:diWxUEyJ
2023/03/06(月) 14:36:44.93ID:diWxUEyJ
2023/03/06(月) 14:53:51.51ID:M8d550bg
54デフォルトの名無しさん
2023/03/06(月) 18:29:55.53ID:wCDmqeE8 話の途中ですまんのだが
ASCIIって7bitのはずなのに下みたいにどう見ても先頭に0がついて8桁あるのはなんでなんや
https://medium-company.com/ascii%E3%82%B3%E3%83%BC%E3%83%89/
もしかして先頭に0をつけて8bitにしたのがメモ帳とかでは標準の表現方法なんか?
ASCIIって7bitのはずなのに下みたいにどう見ても先頭に0がついて8桁あるのはなんでなんや
https://medium-company.com/ascii%E3%82%B3%E3%83%BC%E3%83%89/
もしかして先頭に0をつけて8bitにしたのがメモ帳とかでは標準の表現方法なんか?
2023/03/06(月) 19:54:14.87ID:M8d550bg
>>54
単に 8bit = 1byte の世界で説明してるからだろう。(最近はそれしかないので、昔は 7bit = 1byte とかもあった)
単に 8bit = 1byte の世界で説明してるからだろう。(最近はそれしかないので、昔は 7bit = 1byte とかもあった)
56デフォルトの名無しさん
2023/03/06(月) 21:19:45.89ID:wCDmqeE8 そうなん?
じゃあ実際のバイナリ列は7桁なんやね
じゃあ実際のバイナリ列は7桁なんやね
2023/03/06(月) 23:59:43.85ID:6ovzh4WN
ハイともイイエともどうとでもとれる書き方なんですんのやろ
2023/03/07(火) 00:04:49.03ID:ITg7AjV1
>>56
7bitマシンならそうだな
7bitマシンならそうだな
2023/03/07(火) 00:31:08.63ID:hOnyMfzk
電子メールは7ビットで世界を駆け巡っているの?
2023/03/07(火) 00:53:18.81ID:cliNPotC
大昔は一番上のビットをパリティとして利用していたこともあつたし
2023/03/07(火) 00:56:51.64ID:6eBCzRN0
JSONではUTF8必須かつBOMを付けてはいけないと明確に定められてるんだな
全てがこのように決まれば文字コードで悩むこと無くなるな
ソース
https://www.rfc-editor.org/rfc/rfc8259.html#section-8.1
JSON text exchanged between systems that are not part of a closed ecosystem
MUST be encoded using UTF-8 [RFC3629].
Implementations MUST NOT add a byte order mark (U+FEFF)
to the beginning of a networked-transmitted JSON text.
全てがこのように決まれば文字コードで悩むこと無くなるな
ソース
https://www.rfc-editor.org/rfc/rfc8259.html#section-8.1
JSON text exchanged between systems that are not part of a closed ecosystem
MUST be encoded using UTF-8 [RFC3629].
Implementations MUST NOT add a byte order mark (U+FEFF)
to the beginning of a networked-transmitted JSON text.
2023/03/07(火) 01:03:35.76ID:l5xLBgZr
8b/10bの10bitが云々の話になるぞ
2023/03/07(火) 03:00:53.09ID:fx05/qep
>>54
M$がShiftJIS対応のために8bitに変更したんだろ
M$がShiftJIS対応のために8bitに変更したんだろ
2023/03/07(火) 09:10:52.97ID:ITg7AjV1
なんだろな。このど素人が混ざってる感じ
ASCII はもともと 1byte に 1文字を入れる設計。
6bit マシンには非対応
7bit マシンにはそのまま入れる
8bit マシンでパリティ不要なら最上位bitにゼロを入れる
という設計。最近の機器は全部8bitマシンなので最上位にゼロが入る。
(ISO 2022 拡張とかで変更できるけど)
ASCII はもともと 1byte に 1文字を入れる設計。
6bit マシンには非対応
7bit マシンにはそのまま入れる
8bit マシンでパリティ不要なら最上位bitにゼロを入れる
という設計。最近の機器は全部8bitマシンなので最上位にゼロが入る。
(ISO 2022 拡張とかで変更できるけど)
2023/03/07(火) 09:56:10.33ID:iWhTsxXS
ShiftJIS対応だけのために8bitに変更とか日本はどんだけ凄いんだよ…
2023/03/07(火) 10:08:55.63ID:fx05/qep
本質がわかってないやつがいるが
論点はBOM禁止という話
M$のバグのために仕様を歪めるな!
論点はBOM禁止という話
M$のバグのために仕様を歪めるな!
2023/03/07(火) 12:02:26.19ID:CdvGJ9oA
将来SJIS(cp932)やそれ以外のcp(cp65001を除く)は全部無くなるんだろうし
その頃にはUTF-8にBOM付けるやつは居なくなると想定していて
その準備段階として現状UTF-8にBOM付けるべきでないってスタンス
今がんばってBOM付けろって言ってるアホは死ぬまでSJIS浸かってろ
その頃にはUTF-8にBOM付けるやつは居なくなると想定していて
その準備段階として現状UTF-8にBOM付けるべきでないってスタンス
今がんばってBOM付けろって言ってるアホは死ぬまでSJIS浸かってろ
68デフォルトの名無しさん
2023/03/07(火) 12:58:43.14ID:5oG+IrWl >>67
そのとおり。死ぬまでSJIS浸かってる人は今後もずっと存在し続けるからBOMつけるのが最適解だよ。
そのとおり。死ぬまでSJIS浸かってる人は今後もずっと存在し続けるからBOMつけるのが最適解だよ。
2023/03/07(火) 13:14:07.69ID:ng3wG2tM
MSがWindows12でSJIS(CP932)を異様に扱い難くくするとかの
ペナルティが無いと10年後でも平気で残ってそうだ
互換性重視のWindowsが完全にUTF-8で統一なんて20年はかかると予想
ペナルティが無いと10年後でも平気で残ってそうだ
互換性重視のWindowsが完全にUTF-8で統一なんて20年はかかると予想
2023/03/07(火) 13:18:03.53ID:FxAt1biD
>>68
お前にとってはそうなんだろうな。後5年くらいしか生きない老害にとってはそれが最適解。間違いないな。
お前にとってはそうなんだろうな。後5年くらいしか生きない老害にとってはそれが最適解。間違いないな。
2023/03/07(火) 13:18:03.91ID:5oG+IrWl
暴れている人は、最近覚えたCP932という単語ばかり使ってlatin-1の話が出てこないあたり、初心者っぽい。
もうこのスレに書き込まないでくれ。静かに読むだけにしてくれ。
もうこのスレに書き込まないでくれ。静かに読むだけにしてくれ。
2023/03/07(火) 13:25:15.27ID:fx05/qep
お前が書き込むな
2023/03/07(火) 14:05:19.65ID:jU//zIC9
誰か1人が暴れていると書く人は自分が見えていない
このスレでは2人がお互い暴れている
このスレでは2人がお互い暴れている
2023/03/07(火) 23:08:58.35ID:aKlG86O4
暴れてるのはやっぱりUTF-8原理主義者の人だよなあ
2023/03/07(火) 23:22:22.92ID:msqWHE5U
原理wって反対の立場ですと表明してるようなもんだが
愉快犯かなにかか
愉快犯かなにかか
2023/03/07(火) 23:29:59.54ID:aKlG86O4
もちろん反対の立場(自由主義)だよ。BOM付けても付けなくてもいいしUTF-8以外のコードも容認する。
2023/03/08(水) 00:34:32.71ID:Ax/TB2dR
>>61の例のように文字コードは全てUTB8で統一そしてBOMは使用不可が現在進んでいる方向だろう
文字コード問題があるおかげで喰ってる既得権益層にとっては脅威
文字コード問題があるおかげで喰ってる既得権益層にとっては脅威
2023/03/08(水) 02:50:08.33ID:KzMkGg+5
外部コードが UTF-8 BOM 無しで統一されれば文字コードで悩むやつは少なくなるだろうな
Linux はほぼそうなっていて、Mac も頑張っている。Windows はまだこれからだけどMicrosoft はその方向性を技術者向けに発信してる
10年後くらいの新人に「SJIS? 昔そういうのもあったんですね。まだ使ってるんですか?」とか言われそう
Linux はほぼそうなっていて、Mac も頑張っている。Windows はまだこれからだけどMicrosoft はその方向性を技術者向けに発信してる
10年後くらいの新人に「SJIS? 昔そういうのもあったんですね。まだ使ってるんですか?」とか言われそう
2023/03/08(水) 03:53:49.16ID:zRm+4Flk
過去のソフト・データの資産こそがWindowsの存在意義なんだから、いまさら捨てられる分けがない
それがなかったらWindowsである必要がないからな
古すぎて非効率極まりないWin32 APIが結局今も残っているのと同じこと
マイクロソフトがいくら頑張ってもこれはどうしようもないことなんだよね
もはや誰もメンテしてないDOS時代に作られたツールがひっそりと使われていたりするし
10年後はまだ確実にSJISが残っていると思うよ
20年後はわからないが
それがなかったらWindowsである必要がないからな
古すぎて非効率極まりないWin32 APIが結局今も残っているのと同じこと
マイクロソフトがいくら頑張ってもこれはどうしようもないことなんだよね
もはや誰もメンテしてないDOS時代に作られたツールがひっそりと使われていたりするし
10年後はまだ確実にSJISが残っていると思うよ
20年後はわからないが
2023/03/08(水) 04:42:28.62ID:PePxsOuN
過去のデータや文字コードは、そういうのを取り扱うレガシーなアプリケーション
(ブラウザなり古いテキストエディタなり)が対応してれば事足りるよね
今後作成するシステムは基本的にすべてBOMなしUTF8で統一、
連携対象となる外部I/Fがあればインターフェース仕様に応じたエンコーディングを採用すればよい
CSVなんかはExcelで開くことを考えるとどうしてもBOMありにせざるを得ないだろうけど
普通のプレーンテキストならメモ帳ですらBOMなしUTF8がデフォルトになってもう何年も経ってる以上
あえて今更BOMありを要件にする必要はないだろう
(ブラウザなり古いテキストエディタなり)が対応してれば事足りるよね
今後作成するシステムは基本的にすべてBOMなしUTF8で統一、
連携対象となる外部I/Fがあればインターフェース仕様に応じたエンコーディングを採用すればよい
CSVなんかはExcelで開くことを考えるとどうしてもBOMありにせざるを得ないだろうけど
普通のプレーンテキストならメモ帳ですらBOMなしUTF8がデフォルトになってもう何年も経ってる以上
あえて今更BOMありを要件にする必要はないだろう
2023/03/08(水) 04:53:38.07ID:PePxsOuN
EUC-JPのテキストファイルにお目にかかる機会もほとんどなくなった
linuxのデフォルト文字コードがUTF8に変わったのっていつ頃だったっけ
iso2022jpもほぼほぼ見なくなったかな
メールクライアントやメールサーバでUTF8がデフォルトになってから15年位ってところか
sjisが消滅するまでEUCやiso2022jpと同じくらい時間がかかるとすれば
やっぱり2030~2040年位になるのかな
linuxのデフォルト文字コードがUTF8に変わったのっていつ頃だったっけ
iso2022jpもほぼほぼ見なくなったかな
メールクライアントやメールサーバでUTF8がデフォルトになってから15年位ってところか
sjisが消滅するまでEUCやiso2022jpと同じくらい時間がかかるとすれば
やっぱり2030~2040年位になるのかな
2023/03/08(水) 07:30:34.89ID:0e7t4My9
>文字コード問題があるおかげで喰ってる既得権益層にとっては脅威
そんなんで食っていけるってどんな仕事だよと思うが、本人は本気で思っていそうだな。
そんなんで食っていけるってどんな仕事だよと思うが、本人は本気で思っていそうだな。
2023/03/08(水) 07:57:02.61ID:dedBgKWt
2023/03/08(水) 08:52:21.73ID:KzMkGg+5
>>83
プロトコルの話なら SMTPUTF8 があるよ。
プロトコルの話なら SMTPUTF8 があるよ。
2023/03/08(水) 10:32:01.17ID:FKUb7GnF
インターネットの世界だとUTF-8のBOMは「つけるな、解釈するな、さわるな」だから。
20年前にRFC改定されてからはそんな感じ。
20年前にRFC改定されてからはそんな感じ。
2023/03/08(水) 19:22:53.32ID:Gpe8bqC5
2023/03/08(水) 19:41:48.35ID:LcRKYHDN
>>86
淘汰された
淘汰された
2023/03/08(水) 20:01:21.53ID:fd4vfZJd
なんでだと思うんだ?😠
2023/03/08(水) 20:46:09.77ID:Czf7FTOV
nginxの台頭
当時はこぞってドキュメントを原文で輪読してたとか
当時はこぞってドキュメントを原文で輪読してたとか
2023/03/09(木) 18:57:54.79ID:WLy5E3Kl
なんで?って一瞬思ったけどロシア製だからか
koi8?cp1251どっちだとしても非キリル文字圏のwindowsだと辛いね
koi8?cp1251どっちだとしても非キリル文字圏のwindowsだと辛いね
2023/03/11(土) 08:34:25.16ID:4eNVcbJV
VS Code と PowerShell でのファイルのエンコードの概要
https://learn.microsoft.com/ja-jp/powershell/scripting/dev-cross-plat/vscode/understanding-file-encoding#choosing-the-right-encoding
システムやアプリケーションごとに使用しているエンコードが異なる可能性があります。
・現在、.NET Standard、Web、Linux の世界では、UTF-8 が主流のエンコードです。
・多くの .NET Framework アプリケーションは UTF-16 を使用しています。 歴史的な理由から、これは "Unicode" と呼ばれることもあり、現在では UTF-8 と UTF-16 の両方を含む広範な標準を指しています。
・Windows では、Unicode より前のネイティブ アプリケーションの多くが既定で Windows-1252 を使用し続けています。
BOM はオプションであり、Linux の世界ではそれほど採用されていません。UTF-8 の信頼性の高い規則があらゆるところで使用されているためです。 ほとんどの Linux アプリケーションでは、テキスト入力が UTF-8 でエンコードされていると想定されています。 多くの Linux アプリケーションは BOM を認識して正しく処理しますが、認識しないものもあります。そのため、そのようなアプリケーションで処理されたテキストにアーティファクトが生じます。
したがって:
・主に Windows アプリケーションと Windows PowerShell を使用している場合は、BOM ありの UTF-8 または UTF-16 のようなエンコードをお勧めします。
・複数のプラットフォームにまたがって作業する場合は、BOM ありの UTF-8 をお勧めします。
・主に Linux 関連のコンテキストで作業する場合は、BOM なしの UTF-8 をお勧めします。
・Windows-1252 とラテン-1 は基本的にレガシ エンコードであり、できれば避けてください。 ただし、一部の古い Windows アプリケーションではそれらに依存している可能性があります。
https://learn.microsoft.com/ja-jp/powershell/scripting/dev-cross-plat/vscode/understanding-file-encoding#choosing-the-right-encoding
システムやアプリケーションごとに使用しているエンコードが異なる可能性があります。
・現在、.NET Standard、Web、Linux の世界では、UTF-8 が主流のエンコードです。
・多くの .NET Framework アプリケーションは UTF-16 を使用しています。 歴史的な理由から、これは "Unicode" と呼ばれることもあり、現在では UTF-8 と UTF-16 の両方を含む広範な標準を指しています。
・Windows では、Unicode より前のネイティブ アプリケーションの多くが既定で Windows-1252 を使用し続けています。
BOM はオプションであり、Linux の世界ではそれほど採用されていません。UTF-8 の信頼性の高い規則があらゆるところで使用されているためです。 ほとんどの Linux アプリケーションでは、テキスト入力が UTF-8 でエンコードされていると想定されています。 多くの Linux アプリケーションは BOM を認識して正しく処理しますが、認識しないものもあります。そのため、そのようなアプリケーションで処理されたテキストにアーティファクトが生じます。
したがって:
・主に Windows アプリケーションと Windows PowerShell を使用している場合は、BOM ありの UTF-8 または UTF-16 のようなエンコードをお勧めします。
・複数のプラットフォームにまたがって作業する場合は、BOM ありの UTF-8 をお勧めします。
・主に Linux 関連のコンテキストで作業する場合は、BOM なしの UTF-8 をお勧めします。
・Windows-1252 とラテン-1 は基本的にレガシ エンコードであり、できれば避けてください。 ただし、一部の古い Windows アプリケーションではそれらに依存している可能性があります。
2023/03/11(土) 09:00:57.05ID:qx2T+jGN
LinuxはBOMをうまく扱えないんやな
2023/03/11(土) 10:23:36.62ID:5Ex6umnL
UNIX はパイプで複数のデータストリームが一つになったりするので,
データストリームの「先頭」とは何かがはっきりしないよね
tar のデータストリームとかどうするんだろうね
データストリームの「先頭」とは何かがはっきりしないよね
tar のデータストリームとかどうするんだろうね
2023/03/11(土) 10:42:53.36ID:2IDu8ors
そういいながら、結局 PowerShell の新しいバージョンからデフォルトを BOM無しUTF-8 に変更してきたのがマイクロソフト流儀だけどな。
時代の流れは早いお。
時代の流れは早いお。
2023/03/11(土) 15:13:41.78ID:Q9SpWajK
>>93
そもそもtarはバイナリだ。テキストファイルじゃねーよw
そもそもtarはバイナリだ。テキストファイルじゃねーよw
2023/03/11(土) 19:53:47.04ID:5Ex6umnL
ファイル名とか入ってるけど,そのファイル名の先頭にBOMつけるの?
2023/03/11(土) 19:54:34.90ID:WfuE5Qpv
Windows技術者「お前ぇぇ、WindowsアプリではBOMつきUTF-8 使えって言ってたじゃん。なんでVScodeやPowerShellの新しいの BOMなしなの?」
MS「BOMつきは昔の話」
俺「......
MS「BOMつきは昔の話」
俺「......
2023/03/11(土) 20:33:35.60ID:iJEvXpew
>>97
何かおかしいかな?
何かおかしいかな?
2023/03/11(土) 20:42:13.29ID:66SSApNW
tar扉を開く
100デフォルトの名無しさん
2023/03/11(土) 23:21:38.53ID:Q9SpWajK101デフォルトの名無しさん
2023/03/11(土) 23:22:42.03ID:Q9SpWajK102デフォルトの名無しさん
2023/03/12(日) 00:00:06.48ID:Or/mO0pv へえ
tarはただ元のファイルにヘッダをつけてひたすら結合するだけという認識だったんだけど
こういうファイルもバイナリファイルって呼ぶべきものなのかな
BOMつきテキストファイルならBOMつきのまま無圧縮で格納されちゃうものかと思ってたんだが
tar化するときにはファイルの先頭じゃなくなるから除去されちゃうの?
で展開するときにはまた自動でBOMがついちゃうの
tarはただ元のファイルにヘッダをつけてひたすら結合するだけという認識だったんだけど
こういうファイルもバイナリファイルって呼ぶべきものなのかな
BOMつきテキストファイルならBOMつきのまま無圧縮で格納されちゃうものかと思ってたんだが
tar化するときにはファイルの先頭じゃなくなるから除去されちゃうの?
で展開するときにはまた自動でBOMがついちゃうの
103デフォルトの名無しさん
2023/03/12(日) 00:02:44.53ID:Or/mO0pv 途中送信しちゃったけど、
もしBOMの付け外しまでフルオートでよしなにやってくれるとしたらtarコマンドって随分と賢いんだね
そんなクソめんどくさい考慮せずに済ませるほうがよっぽど楽だろうに
もしBOMの付け外しまでフルオートでよしなにやってくれるとしたらtarコマンドって随分と賢いんだね
そんなクソめんどくさい考慮せずに済ませるほうがよっぽど楽だろうに
104デフォルトの名無しさん
2023/03/12(日) 00:46:06.01ID:Cuf4mGT0 おちつけ
最近の tar は gzip やその他の圧縮なんか対応してたりする賢い tar で便利に使われてるので人によって認識にいろいろ違いが出るのは仕方ない。
もともと tar は tape archiver で、磁気テープにファイルを読み書きするためのツールでバイナリとかテキストとか気にしない。
というか unix 系のツールにはバイナリとテキストを区別しないやつが多い。
「それバイナリやろ」とか、「それテキストやろ」とか言われれも、「何の違いが?」ってなる。
最近の tar は gzip やその他の圧縮なんか対応してたりする賢い tar で便利に使われてるので人によって認識にいろいろ違いが出るのは仕方ない。
もともと tar は tape archiver で、磁気テープにファイルを読み書きするためのツールでバイナリとかテキストとか気にしない。
というか unix 系のツールにはバイナリとテキストを区別しないやつが多い。
「それバイナリやろ」とか、「それテキストやろ」とか言われれも、「何の違いが?」ってなる。
105デフォルトの名無しさん
2023/03/12(日) 01:06:11.40ID:8ghP4JCw 圧縮されていようがいまいがこんな発想が出てくるのはただものではない
106デフォルトの名無しさん
2023/03/12(日) 05:16:54.72ID:C6Uwumzj107デフォルトの名無しさん
2023/03/12(日) 05:55:05.23ID:LPnCxw27 というか、MicrosoftとLinux以外のOSがなくなってしまったんだぜ
あとmacOSが残ってるか
あとmacOSが残ってるか
108デフォルトの名無しさん
2023/03/12(日) 09:21:56.46ID:zZ3L0xxp そういえば、テキストだけ特別な扱いはしたくないからBOMは入れてくれるなという主張はわからんでもないが
とあるそこそこ有名なOSSは逆にストリームの先頭の EF BB BF を強制的に削るという強硬策をとってたな。
とあるそこそこ有名なOSSは逆にストリームの先頭の EF BB BF を強制的に削るという強硬策をとってたな。
109デフォルトの名無しさん
2023/03/12(日) 09:39:57.05ID:LPnCxw27 今はテキストファイルの話をしてる
ストリームの仕様は関係ない話だ
ストリームの仕様は関係ない話だ
110デフォルトの名無しさん
2023/03/12(日) 10:13:38.29ID:Cuf4mGT0 あほだな。テキストのストリームとか言われたら死にそうだな。
111デフォルトの名無しさん
2023/03/12(日) 15:01:05.66ID:JTWw5hHO UNIXはバイトストリームしかない中古品
C言語もWindows向けと違ってテキストモードとか実装して当然ものすら無いし
C言語もWindows向けと違ってテキストモードとか実装して当然ものすら無いし
112デフォルトの名無しさん
2023/03/12(日) 16:18:15.25ID:C6Uwumzj >>111
レイヤの区別をできない素人かよ
レイヤの区別をできない素人かよ
113デフォルトの名無しさん
2023/03/12(日) 17:11:02.31ID:SD5cjZL3 Windows の改行コードが 0D0A なのはMSDOS の名残
C言語の \n は1バイトなのだが,これを2バイトでも処理できるように
苦し紛れに作ったモードがテキストモード
C言語の \n は1バイトなのだが,これを2バイトでも処理できるように
苦し紛れに作ったモードがテキストモード
114デフォルトの名無しさん
2023/03/12(日) 21:43:16.22ID:JTWw5hHO Why is the line terminator CR+LF?
https://devblogs.microsoft.com/oldnewthing/20040318-00/?p=40193
This protocol dates back to the days of teletypewriters. CR stands for “carriage return” – the CR control character returned the print head (“carriage”) to column 0 without advancing the paper. LF stands for “linefeed” – the LF control character advanced the paper one line without moving the print head. So if you wanted to return the print head to column zero (ready to print the next line) and advance the paper (so it prints on fresh paper), you need both CR and LF.
If you go to the various internet protocol documents, such as RFC 0821 (SMTP), RFC 1939 (POP), RFC 2060 (IMAP), or RFC 2616 (HTTP), you’ll see that they all specify CR+LF as the line termination sequence. So the the real question is not “Why do CP/M, MS-DOS, and Win32 use CR+LF as the line terminator?” but rather “Why did other people choose to differ from these standards documents and use some other line terminator?”
Unix adopted plain LF as the line termination sequence. If you look at the stty options, you’ll see that the onlcr option specifies whether a LF should be changed into CR+LF. If you get this setting wrong, you get stairstep text, where
each
line
begins
where the previous line left off. So even unix, when left in raw mode, requires CR+LF to terminate lines. The implicit CR before LF is a unix invention, probably as an economy, since it saves one byte per line.
https://devblogs.microsoft.com/oldnewthing/20040318-00/?p=40193
This protocol dates back to the days of teletypewriters. CR stands for “carriage return” – the CR control character returned the print head (“carriage”) to column 0 without advancing the paper. LF stands for “linefeed” – the LF control character advanced the paper one line without moving the print head. So if you wanted to return the print head to column zero (ready to print the next line) and advance the paper (so it prints on fresh paper), you need both CR and LF.
If you go to the various internet protocol documents, such as RFC 0821 (SMTP), RFC 1939 (POP), RFC 2060 (IMAP), or RFC 2616 (HTTP), you’ll see that they all specify CR+LF as the line termination sequence. So the the real question is not “Why do CP/M, MS-DOS, and Win32 use CR+LF as the line terminator?” but rather “Why did other people choose to differ from these standards documents and use some other line terminator?”
Unix adopted plain LF as the line termination sequence. If you look at the stty options, you’ll see that the onlcr option specifies whether a LF should be changed into CR+LF. If you get this setting wrong, you get stairstep text, where
each
line
begins
where the previous line left off. So even unix, when left in raw mode, requires CR+LF to terminate lines. The implicit CR before LF is a unix invention, probably as an economy, since it saves one byte per line.
115デフォルトの名無しさん
2023/03/12(日) 22:44:50.34ID:myYPYrxB こんなスレにおるのはほぼオッサンなんだけど
キミに学びがあったのならよかった
キミに学びがあったのならよかった
116デフォルトの名無しさん
2023/03/12(日) 22:58:02.67ID:Cuf4mGT0 最後の方の Unix の記述は間違いだな。ちゃんと調査せずに適当な風説を元に回答したようだ。
117デフォルトの名無しさん
2023/03/12(日) 23:20:28.70ID:Cuf4mGT0 1) 大昔の teleprinter/teletypewriter では CR+LF で改行にしていた。違うのもあった。
2) それを引き継いでビデオ端末の多くが CR+LF を改行にしていた。違うのもあった。
3) デバイスに直接出力していた古いOSや、OS無しの低機能のシステムではデバイスの多数派に合わせて CR+LF を改行コードにした。
4) Multics ではデバイス・ドライバーで出力先デバイスに合わせて改行処理を変更する機能があるので、デバイスに依存しない抽象化された文字コードを採用することにした。
5) このときに、当時の ISO 646 のドラフトにおいて LF だけで改行とできる規定があったので、それを採用した。
6) unix はこの Multics の仕様を引き継いだ。
#)一方で CP/M はデバイス・ドライバーによる抽象化などの高度な機能は無かったので、CR+LF を改行コードにするしかなかった。MS-DOS および MS-Windows はこの仕様を引き継いだ。
2) それを引き継いでビデオ端末の多くが CR+LF を改行にしていた。違うのもあった。
3) デバイスに直接出力していた古いOSや、OS無しの低機能のシステムではデバイスの多数派に合わせて CR+LF を改行コードにした。
4) Multics ではデバイス・ドライバーで出力先デバイスに合わせて改行処理を変更する機能があるので、デバイスに依存しない抽象化された文字コードを採用することにした。
5) このときに、当時の ISO 646 のドラフトにおいて LF だけで改行とできる規定があったので、それを採用した。
6) unix はこの Multics の仕様を引き継いだ。
#)一方で CP/M はデバイス・ドライバーによる抽象化などの高度な機能は無かったので、CR+LF を改行コードにするしかなかった。MS-DOS および MS-Windows はこの仕様を引き継いだ。
118デフォルトの名無しさん
2023/03/13(月) 03:18:43.79ID:7nq5QUJ1 >>113
タイプライターの名残やろ
タイプライターの名残やろ
119デフォルトの名無しさん
2023/03/13(月) 09:07:24.07ID:g2KgZszC CP/Mのパクリをしなければ改行にCR+LFを採用する必要はなかった
まあこのパクリのおかげでCP/M86に勝ったんだけどね
まあこのパクリのおかげでCP/M86に勝ったんだけどね
120デフォルトの名無しさん
2023/03/13(月) 11:13:13.34ID:bF2IN6wD レトロmac: "CR" ぼくも忘れないで
121デフォルトの名無しさん
2023/03/13(月) 13:38:04.06ID:L8qxRZDz >>120
お前は深く考えてない玩具 Apple II の文字コード継承しただけじゃないか? 正直に白状したまえ。
お前は深く考えてない玩具 Apple II の文字コード継承しただけじゃないか? 正直に白状したまえ。
122デフォルトの名無しさん
2023/03/13(月) 14:36:51.97ID:7nq5QUJ1 Macはワンボタンが素晴らしいと思ってるし、画面下にアプリ切り替えバーなんていらないし、UNIXなんてクソだからCRを使った
123デフォルトの名無しさん
2023/03/13(月) 21:35:59.50ID:Lx/25M/K CRはCarriage Returnで行頭に復帰
改行はしない
改行はしない
124デフォルトの名無しさん
2023/03/13(月) 22:29:34.49ID:bqBi0AM/ それ端末の動作だし
だからなんやねん
だからなんやねん
125デフォルトの名無しさん
2023/03/14(火) 16:02:14.81ID:ZglUMoKm 読むときは CR(単独) が来ようが CR+LF(連続) が来ようが LF(単独) が来ようが LF として処理する
描くときは LF のみ描き込む
これが正しい在り方
描くときは LF のみ描き込む
これが正しい在り方
126デフォルトの名無しさん
2023/03/14(火) 17:57:34.43ID:3k2Galku 問題はCRとLFとCRLFが混ざっているときだ
127デフォルトの名無しさん
2023/03/14(火) 19:20:49.37ID:pZL91EEN LF, CR, LF, LF, LF, CR ときたら何行改行するか問題。
CR+LF 派にこれを突きつけると、 言行がバグる人が多い。CR+LF派は脳に欠陥があるに違いない。
CR+LF 派にこれを突きつけると、 言行がバグる人が多い。CR+LF派は脳に欠陥があるに違いない。
128デフォルトの名無しさん
2023/03/14(火) 19:52:03.66ID:euneF1w3129デフォルトの名無しさん
2023/03/14(火) 19:53:53.28ID:f/+ml7jb CRLFで1回、CRで1回、LFで1回だろ?
130デフォルトの名無しさん
2023/03/14(火) 20:20:53.43ID:pZL91EEN LF派:誰に聞いても同じ回答を返す
CR+LF派:人によって回答が違う。謎のオレオレ理論を説明しだす
CR派:問を無視してアップルへの恨み言を言い始める
CR+LF派:人によって回答が違う。謎のオレオレ理論を説明しだす
CR派:問を無視してアップルへの恨み言を言い始める
131デフォルトの名無しさん
2023/03/14(火) 20:23:34.83ID:IFFVvzVH BOMは諦めて今度は改行かね
132デフォルトの名無しさん
2023/03/14(火) 20:27:00.01ID:f6OfJkKw >>131
ワロタ
ワロタ
133デフォルトの名無しさん
2023/03/14(火) 23:03:37.37ID:YE6RlyDJ134デフォルトの名無しさん
2023/03/14(火) 23:25:04.85ID:9qcdp0KK135デフォルトの名無しさん
2023/03/15(水) 01:01:29.12ID:GIgi9suE136デフォルトの名無しさん
2023/03/15(水) 02:30:17.71ID:ClK12XWK HTTPプロトコルは改行がCR+LFなのはどうして?
137デフォルトの名無しさん
2023/03/15(水) 04:53:01.78ID:GIgi9suE >>136
まじめに答えると、
SMTPなどの既存のプロトコルを参考にしたから。
で、SMTPがCRLFなのは、インターネット以前の汎用機とか使ったメールシステムとの相互接続性に気を使ったから。
実際のHTMLは場所によってLFだけやCRだけの改行も許されていてかなり複雑なんだが。
まじめに答えると、
SMTPなどの既存のプロトコルを参考にしたから。
で、SMTPがCRLFなのは、インターネット以前の汎用機とか使ったメールシステムとの相互接続性に気を使ったから。
実際のHTMLは場所によってLFだけやCRだけの改行も許されていてかなり複雑なんだが。
138デフォルトの名無しさん
2023/03/15(水) 11:00:18.93ID:ClK12XWK ほー、ってことはWindowsも
そういった互換性を大切にしてたんだな
そういった互換性を大切にしてたんだな
139デフォルトの名無しさん
2023/03/15(水) 11:12:26.56ID:2SW2Y069 むしろ>>127なんて通常はあり得ないって事さ
140デフォルトの名無しさん
2023/03/15(水) 12:41:20.81ID:GIgi9suE >>138
まあ、そうだな。
Windows が大事にしたのは MS-DOS との互換性で、
MS-DOS が大事にしたのは CP/M との互換性で、
CP/M は大昔の汎用機と同じくらい古臭い<BS><BS><BS>シンプルな設計だったというだけだな。
まあ、そうだな。
Windows が大事にしたのは MS-DOS との互換性で、
MS-DOS が大事にしたのは CP/M との互換性で、
CP/M は大昔の汎用機と同じくらい古臭い<BS><BS><BS>シンプルな設計だったというだけだな。
141デフォルトの名無しさん
2023/03/15(水) 22:20:01.44ID:ClK12XWK UNIXは元々研究用だからね
互換性なんか考えちゃいない
だからUNIXはBSD系とSystemV系に分離した
多くのコマンドの互換性がなくなった
互換性なんか考えちゃいない
だからUNIXはBSD系とSystemV系に分離した
多くのコマンドの互換性がなくなった
142デフォルトの名無しさん
2023/03/16(木) 00:21:30.90ID:OI9tXZBe143デフォルトの名無しさん
2023/03/16(木) 03:57:32.72ID:mQ2r18kg http2以降はヘッダに改行なくなったんだね、、、
144デフォルトの名無しさん
2023/03/16(木) 07:48:28.62ID:svmadcyh145デフォルトの名無しさん
2023/03/16(木) 10:25:24.39ID:6H39TrIH146デフォルトの名無しさん
2023/03/16(木) 10:25:51.36ID:6H39TrIH >>144
歴史を知らんのねw
歴史を知らんのねw
147デフォルトの名無しさん
2023/03/16(木) 10:41:46.04ID:rUjwTzLK 知ってる→実は何もわかってない
知らんのかね→自分が何も知らない
どうして、こういう知ったかぶりする小学生みたいんな奴が混ざってるんだろう?
知らんのかね→自分が何も知らない
どうして、こういう知ったかぶりする小学生みたいんな奴が混ざってるんだろう?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 【映画】『クレヨンしんちゃん』 中国で公開延期 対日報復、エンタメに波及 [冬月記者★]
- Xのネトウヨは大体高齢独身。40過ぎて独身だと例外なく狂うって本当だったんだなと思う [805596214]
- 生活保護だけど30万円のPCの椅子買おうか迷ってる
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 女の子に生まれ変わったらやりたいこと🍓🍫💄❤ [856698234]
- ウッドデッキで調子こいてたやついたじゃん
