2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【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 ★