■ このスレッドは過去ログ倉庫に格納されています
【IT】「メモ帳」がLinuxの改行コードをサポート
- 1 :ノチラ ★:2018/05/09(水) 23:51:08.97 ID:CAP_USER.net
- Microsoftの開発者向けイベント“Build 2018”が米国シアトルにて開催中で、今日は2日目のキーノートセッションが行われていました。新しい機械学習技術やクロスデバイス体験などがお披露目されましたが、なかでも会場を沸かせたのがこれ。
https://forest.watch.impress.co.jp/img/wf/docs/1120/764/image1_s.jpg
なんと「メモ帳」が改行コード“LF(0x0A)”をサポートするのだそうです。Linuxなどで作成されたテキストファイルを「メモ帳」で開くと改行が認識されず、すべて一行で表示されてしまったりしますが、こうした不便が解消されます。
改行コードというのは、テキストの“改行”を表す特殊な文字(制御文字)のこと。一般的に“キャリッジリターン(CR:0x0D)”と“ラインフィード(LF:0x0A)”の2つをいい、もともとはタイプライターで紙を移動させる装置(キャリッジ)を元に戻す(リターン)操作と、紙を一行(ライン)だけ上に送る(フィード)操作を表しているのだそうです。
どの制御文字を改行コードとして採用するかは歴史的な事情でプラットフォームごとに異なります。
Windows(CR+LF):CRとLFの2文字で改行を表す
Linux(LF):LFのみで改行を表す
古いMac(CR):CRのみで改行を表す
“行を改めて行頭へカーソルを移動させる”操作を考えるとキャリッジリターンしてラインフィードする“CR+LF”が本来の意味に忠実な気がしますが、それだけのために2文字も使うのは馬鹿らしいという考えにも一理あると思います(現在ではあまり気になりませんが、かつてはメモリもディスクもネットワークも今よりずっと貴重でした)。
さて、「メモ帳」の改善については公式ブログ“Windows Command Line Tools For Developers”で詳しく説明されていますが、それによると
最新の「Windows 10 Insider Preview」で試せる(編集部にてBuild 17661で確認)
新規作成ファイルは従来通りCR+LFコードで作成される
LFだけでなくCRもサポートする
ステータスバーに改行コードの種類を表示する
互換性に問題がある場合はレジストリを編集して元の挙動に戻せるようにする
のだそうです。Linuxで開発されたソフトのライセンスや利用許諾、設定ファイルはLFコードで書かれていることが多いですが、わざわざサードパーティ製のテキストエディターをダウンロードしなくても「メモ帳」で閲覧・印刷できるようになるのは結構うれしいですね。
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1120764.html
- 167 :名刺は切らしておりまして:2018/05/11(金) 19:34:19.79 ID:mhJt3QmA.net
- >>46
馬鹿が発言するとこうなるといういい例ですね
- 168 :名刺は切らしておりまして:2018/05/11(金) 20:41:47.37 ID:ckUjiwq1.net
- >>161
まあ、趣味だし、自己満だから w
- 169 :名刺は切らしておりまして:2018/05/11(金) 20:46:09.82 ID:ckUjiwq1.net
- >>151, >>165
だから不要と思えば読み飛ばせよ
メモ帳がいつまでもBOMつけるのもどうかと思うがいつまでもBOMついてたらエラーにするのもどっちもどっちだろ
- 170 :名刺は切らしておりまして:2018/05/11(金) 22:08:49.57 ID:72aEpV3q.net
- >>169
BOMついているのを能動的に感知してエラーになる訳じゃなくて、BOMに対応していない多くのアプリケーションで不具合が出るんだよ
utf-8はasciiのみ解釈してそれ以外のバイト列を素通しするだけのフィルタ的なプログラムがそのまま動作するところが大きなメリットなのに
その他の文字コードも基本的にそういう設計思想で作られている
- 171 :名刺は切らしておりまして:2018/05/11(金) 22:44:27.74 ID:aylu31S1.net
- >>170
だからそう言う自分は正しいって言う姿勢をいつまで続けるんだって話
ユーザーから見たらそんなアホな思い込みは迷惑なだけ
- 172 :名刺は切らしておりまして:2018/05/11(金) 23:44:34.98 ID:ssNPwNtq.net
- >>171
勝手にBOMつけるやつのほうが迷惑
- 173 :名刺は切らしておりまして:2018/05/12(土) 00:06:50.35 ID:e0WdL+kZ.net
- >>171
アプリが個別対応する必要があるんだよ
別にlinuxでもコンパイラとか、テキストファイルとして扱うことが決まっているやつは今どき対応しているが、sedやらawkやらでユーザーがバイナリ的に扱いたいのに勝手に対応されてストリーム加工されるのは迷惑だし
- 174 :名刺は切らしておりまして:2018/05/12(土) 07:11:27.15 ID:Idcmo9kj.net
- >>172
話の流れを読めないバカは絡んでくるなよ
>>173
> sedやらawkやらでユーザーがバイナリ的に扱いたいのに勝手に対応されてストリーム加工されるのは迷惑だし
ストリームにBOM付きで流すなよ...
ファイルオープンの時に処理すればいいだけでしょ
- 175 :名刺は切らしておりまして:2018/05/12(土) 08:26:05.29 ID:59fTT8ak.net
- >>174
ファイルにBOMを記録するなよって話な
- 176 :名刺は切らしておりまして:2018/05/12(土) 08:34:09.10 ID:59fTT8ak.net
- ほぼほぼ役に立たないBOMをわざわざつける必要無いわけで
- 177 :名刺は切らしておりまして:2018/05/12(土) 08:58:04.25 ID:59fTT8ak.net
- そもそもメタ情報をデータ本体に記録するというのが筋が悪いんだが
- 178 :名刺は切らしておりまして:2018/05/12(土) 09:18:32.75 ID:Idcmo9kj.net
- >>175-177
だからそんなのはみんなわかってる
それでも文句だけ言ってても誰も幸せにならんだろって話な
「送信は厳格に、受信は寛容に」
RFC 1958 にも書いてある
- 179 :名刺は切らしておりまして:2018/05/12(土) 10:15:20.24 ID:gs+CwTOh.net
- 勝手にBOMつけるソフトってメモ帳以外でもある?
- 180 :名刺は切らしておりまして:2018/05/12(土) 11:03:21.00 ID:59fTT8ak.net
- >>174
>>178
個々のコマンドで対応するより前段にBOMStripperかますのが筋がいいと思うよお
sedあたりで作れそうだが
- 181 :名刺は切らしておりまして:2018/05/12(土) 11:18:50.18 ID:Idcmo9kj.net
- >>180
>>173みたいな人にはそれでいいかもね
ただストリーム云々言ってる奴は実態を知らずに語ってるだけで、実際の問題は設定ファイルが読めないとかデータの頭にゴミか付くとかなのでBOMStripperとやらで対応するのは難しい
- 182 :名刺は切らしておりまして:2018/05/12(土) 12:07:42.64 ID:+SC5Qsp9.net
- 文字列UTF8で扱うのにBOM付いたら読めなくなるって
それRFCとか規約通りに実装してないってことだろ?
RFCにはBOMについても記述してあるだろうに
元々BOMの概念がないASCIIやらJIS規格との
共用のために考えられた仕組みなのに、
規約通り実装しないならもうASCIIで全部記述して
日本語とかのマルチバイト入力をアプリで禁止させろ
- 183 :名刺は切らしておりまして:2018/05/12(土) 12:59:38.25 ID:e0WdL+kZ.net
- >>182
文字列UTF8で扱う規定なぞ無い設定ファイルでコメントにutf8入れても、BOM無しなら他の大多数のascii互換のエンコーディングと同様に問題は出ないが、BOM有りだと問題が出る
設定ファイルをメモ帳でちょこっといじってセーブしただけで今まで問題なかったものがおかしくなる。
それをBOMとはなんぞやとわからん様な素人がやるから質悪い
- 184 :名刺は切らしておりまして:2018/05/12(土) 13:09:31.81 ID:f3cYdwP9.net
- ファイル名やディレクトリ名にスペースが入ってるとバグるプログラム
そんなのを作ってスペース入れるなと文句言ってる無能に似た雰囲気を感じる
Linuxでもスペース入りはサポートしてるのにMSをディスってるのも同じ
- 185 :名刺は切らしておりまして:2018/05/12(土) 14:26:53.06 ID:DpEpVbaP.net
- BOMの有無を問題視してるバカってどう見ても仕事できない役立たずだわなw
- 186 :名刺は切らしておりまして:2018/05/12(土) 14:40:33.62 ID:6CkIhuqV.net
- IEってWindowsユーザーにはもう使われていないウェブブラウザでしょうか?
- 187 :名刺は切らしておりまして:2018/05/12(土) 15:13:43.36 ID:Hz1BahIL.net
- >>185
技術的な反論はできないからとりあえず煽ってみました
ってかww
- 188 :名刺は切らしておりまして:2018/05/12(土) 15:55:58.33 ID:DpEpVbaP.net
- >>187
技術的とかバカかw
いまどきBOM非対応ソフトなんて使う方が頭悪いだけ
とっとと捨てろ
- 189 :名刺は切らしておりまして:2018/05/12(土) 15:58:19.08 ID:DxkcnK4A.net
- メモは使う。
- 190 :名刺は切らしておりまして:2018/05/12(土) 16:06:29.03 ID:f3cYdwP9.net
- ちゃんとBOMに対応する方が技術力は高いよな?
- 191 :名刺は切らしておりまして:2018/05/12(土) 16:08:35.99 ID:7VNsorF5.net
- >>190
そのとおり
- 192 :名刺は切らしておりまして:2018/05/12(土) 17:47:26.28 ID:Me1xASec.net
- 頭悪いとしか書けない奴 w
- 193 :名刺は切らしておりまして:2018/05/12(土) 23:10:00.98 ID:pikePwk/.net
- BOM非対応って、どうせ1バイトのASCII前提で、BOMなしファイルだったとしても、フォント指定
したところで日本語をちゃんと表示できないんじゃないかな?
カーソル動かす時に、2バイト文字だと、矢印キーを2回押さないと次の文字へ
移動しないとか、DOS/V時代のスクリーンエディタとかそんなソフトに需要あるか?
- 194 :名刺は切らしておりまして:2018/05/12(土) 23:37:39.45 ID:W4LHh7iO.net
- メモ帳で.shファイル作ってそのままLinuxで使うと酷い目に遭う
うちの新人がそれでハマって泣きを入れてきた
- 195 :名刺は切らしておりまして:2018/05/13(日) 02:29:22.42 ID:/dQh4MSq.net
- >>194
シフトJISで保存か
- 196 :名刺は切らしておりまして:2018/05/13(日) 15:27:55.80 ID:HywrrIMb.net
- UTF8にバイトオーダーは無いのにエンコード種別判定の
ためにBOMを使うというアイデアがもう古臭い
- 197 :名刺は切らしておりまして:2018/05/13(日) 17:17:58.54 ID:7dFZ7lOS.net
- >>196
知ってる知識で、UTF8とUTF16の違いを説明してよ。 1文字は何バイト?
- 198 :名刺は切らしておりまして:2018/05/13(日) 18:43:00.83 ID:HywrrIMb.net
- よく知らんけど1コードポイントでUTF8可変長バイトUTF16 2バイトでは?
- 199 :名刺は切らしておりまして:2018/05/13(日) 20:58:27.07 ID:tFodZ9/e.net
- 奥手党
- 200 :名刺は切らしておりまして:2018/05/13(日) 22:08:54.74 ID:4tQ/Ht0a.net
- >>17
それ、行探すだけだろ。
- 201 :名刺は切らしておりまして:2018/05/14(月) 08:03:41.03 ID:DcwX9J7T.net
- >>200のgrepにはどんなすごい機能があるんだろう?
- 202 :名刺は切らしておりまして:2018/05/14(月) 08:36:19.34 ID:98wSYhy/.net
- >>201
grepコマンドはfindstrと違って行ではなく
直接指定した文字を見つけて抜き出せる。
あまり違いがないように見えるけどそれは大間違いで
findstrでは行全体しか抜き出せないけど
grepでは"○○の後ろの3文字"という形でそれだけを抜き出せる。
環境変数として使ったり抜き出した文字を使って新しいファイルを生成したりと
grepの方が使い道が多い。
- 203 :名刺は切らしておりまして:2018/05/14(月) 08:43:00.63 ID:DcwX9J7T.net
- >>202
マジレスかよ w
>>15
> Linuxならgrepで1行で探せる。Windowsの標準にそういう機能ないからなぁ。
そんな機能は求められてないぞ w
- 204 :名刺は切らしておりまして:2018/05/14(月) 08:46:07.33 ID:l2fHiFQj.net
- >>202
まあそんなのはコンシューマー用のOSには無くて問題ないもんだわな
開発者が使えればいいんだから
- 205 :名刺は切らしておりまして:2018/05/14(月) 12:27:13.45 ID:08E56oRq.net
- >>157
そんなあなたにUTF-32
- 206 :名刺は切らしておりまして:2018/05/16(水) 15:30:29.24 ID:dYDzke3b.net
- >>203
一般のPCユーザーはgrepどころかテキストファイルを扱う機会すらほとんど無いからな
- 207 :名刺は切らしておりまして:2018/05/16(水) 23:29:32.97 ID:ZPZnVpbp.net
- >>96
その的外れな批判であなたが現代のjavascriptを知らないと判断できる
深いネストや可読性の悪さは昔の話
javascriptの人気がなぜ今さら上昇しているのかを理解しましょう
- 208 :名刺は切らしておりまして:2018/05/17(木) 00:16:14.23 ID:FfAQ6p5k.net
- ブラウザのコトリン対応よりもWebAssemblyの普及の方が現実的だね
- 209 :名刺は切らしておりまして:2018/05/17(木) 02:36:35.63 ID:0I5RHibm.net
- プログラマなら、grepとか、wcコマンド相当のプログラムくらい、ちゃっちゃと作れると思うのだが?
- 210 :名刺は切らしておりまして:2018/05/17(木) 03:20:49.43 ID:8s4fR44Z.net
- >>209
車輪の再発明が趣味なのか?
- 211 :名刺は切らしておりまして:2018/05/17(木) 03:22:10.83 ID:6JTmj9kk.net
- 車輪の再発明するのもアホらしい
- 212 :名刺は切らしておりまして:2018/05/17(木) 06:33:55.64 ID:0I5RHibm.net
- クローン牛ならぬ、クローン社蓄に過ぎない、BOMなしファイルしか扱えないコピペ房が、
車輪の再発明とかって、自己矛盾を感じないのかねぇ?
- 213 :名刺は切らしておりまして:2018/05/17(木) 06:50:35.52 ID:WQwzgfBh.net
- >>212
悔しかったんだね
- 214 :名刺は切らしておりまして:2018/05/17(木) 08:49:22.19 ID:8s4fR44Z.net
- >>212
やっぱりアホだった
- 215 :名刺は切らしておりまして:2018/05/17(木) 15:19:35.04 ID:BuOhrJ0k.net
- >>212
じゃあお前が作れ
からの
「俺プログラマじゃないし」
まででセット?
- 216 :名刺は切らしておりまして:2018/05/17(木) 15:23:47.02 ID:WQwzgfBh.net
- 正規表現ライブラリを一から作成するとかちゃっちゃとできるわけないだろ
総レス数 216
50 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★