DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[ スレッド内全7レス(親記事-7 表示) ] <<
0
>>
■34546
/ 親記事)
改行のコード
▼
■
□投稿者/ Vetty
一般人(4回)-(2020/10/04(Sun) 06:24:18)
環境/言語:[Windows10,VB]
分類:[.NET]
いろいろな場所から情報を集めてくると、改行コードの違いがあります。
0Ah だけ
0Dh だけ
0Dh 0Ah
0Dh 0Dh 0Ah
が出てきます・
また、WEBサイトでは意識的だと思いますが常に2行改行を使っている場合
もあります。
これを自分の資料としてテキストファイルにしてデータベース(もどき?)に
しているのですが、この場合はどのように統一して保管すべきなのでしょうか?
現在は、表示するときに見やすいように適当に置き換えのルールを決めて
表示しています。
0Ah だけ
0Dh だけ
0Dh 0Ah
のどれかにしてしまっていいものでしょうか?
マルチポストを報告
Javascriptを有効にしてください
この投稿がマルチポスト(全く同じ内容の投稿が別の掲示板に投稿されている)の場合は、以下のフォームをご利用いただくと、報告の投稿が簡単に行えます。
このフォームに必要事項を入力後、「返信フォームに入力する」ボタンをクリックすると、このページの下にある
返信フォーム
の項目が自動的に埋まります。実際に投稿するには、その後、返信フォームの「送信」ボタンをクリックしてください。
このフォームを利用しても返信フォームが埋まるだけですので、後で書き直してから投稿することもできます。
「マルチポストされている場所」には、マルチポストされている場所のURLを入力してください。複数のURLを改行区切りで入力することができます。
マルチポストされている場所
オプション
マルチポスト先の投稿が、別人によるいたずらである可能性が高い
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34548
/ ResNo.1)
Re[1]: 改行のコード
▲
▼
■
□投稿者/ Azulean
大御所(518回)-(2020/10/04(Sun) 08:35:12)
■
No34546
に返信(Vettyさんの記事)
> 0Ah だけ
> 0Dh だけ
> 0Dh 0Ah
0A → LF
0D → CR
0D 0A → CR+LF
> 0Dh 0Dh 0Ah
これってなんだろう…。
> これを自分の資料としてテキストファイルにしてデータベース(もどき?)に
> しているのですが、この場合はどのように統一して保管すべきなのでしょうか?
結局これらは、改行をどのように符号化するかという話なので、保存するときにどれかに統一することは問題ありません。
閲覧時、あるいは何らかのアプリケーションの入力する際には改行コードを整える必要があるかもしれません。
なお、Windows 上では CR+LF に統一することが無難だと思います。
一部のコントロールでは CR+LF でないと改行表示してくれないので…。
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34549
/ ResNo.2)
Re[2]: 改行のコード
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1301回)-(2020/10/04(Sun) 12:29:35)
■
No34548
に返信(Azuleanさんの記事)
>>0Dh 0Dh 0Ah
> これってなんだろう…。
ワードラップやソフト改行を表す代替文字列として
使われることがあります。たとえば EM_FMTLINES など。
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
SendMessage(TextBox1.Handle, EM_FMTLINES, IntPtr.Zero, IntPtr.Zero)
Label1.Text = TextBox1.Text.Replace("\", "\\").Replace(vbLf, "\n").Replace(vbCr, "\r")
SendMessage(TextBox1.Handle, EM_FMTLINES, New IntPtr(1), IntPtr.Zero)
Label2.Text = TextBox1.Text.Replace("\", "\\").Replace(vbLf, "\n").Replace(vbCr, "\r")
SendMessage(TextBox1.Handle, EM_FMTLINES, IntPtr.Zero, IntPtr.Zero)
End Sub
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34550
/ ResNo.3)
Re[3]: 改行のコード
▲
▼
■
□投稿者/ Vetty
一般人(5回)-(2020/10/04(Sun) 12:53:12)
魔界の仮面弁士さま 回答ありがとうございます。
>なお、Windows 上では CR+LF に統一することが無難だと思います。
ということなので、そうさせていただきます。
>たとえば EM_FMTLINES など。
むずかしいことは考えずに、Textboxに表示した場合の見栄えで
置き換えていくことにします。
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34551
/ ResNo.4)
Re[4]: 改行のコード
▲
▼
■
□投稿者/ Vetty
一般人(6回)-(2020/10/04(Sun) 12:54:57)
失礼しました、
「解決」にするのを忘れました。
解決
済
み!
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34552
/ ResNo.5)
Re[1]: 改行のコード
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1302回)-(2020/10/04(Sun) 12:58:15)
■
No34546
に返信(Vettyさんの記事)
> この場合はどのように統一して保管すべきなのでしょうか?
自分の場合、accdb に入れるか、生バイナリのまま保持しておくことが
多いですが……テキスト形式での保存が必要な場合には
{テキスト部の文字数(10進数)}{CRLF}{改行入りテキスト本体}{CRLF}
のように、各テキストの先頭にデータサイズを埋め込んだりしています。
テキストを手動で書き換える事もある場合は、サイズ埋め込みは面倒なので
\r や \n で置き換えて単一行にすることもしばしばあります。
この場合は \\ へのエスケープも必要ですね。
改行パターンが事前に分からない場合、
Cr/CrLf/Lf をすべて CrLf に正規化するために
Dim rawString As String = …
Dim fmtString As String = rawString.Replace(vbCrLf, vbLf).Replace(vbCr, vbLf).Replace(vbLf, vbCrLf)
のようなコードを書くこともあります。
> 0Ah だけ
> 0Dh だけ
> 0Dh 0Ah
> のどれかにしてしまっていいものでしょうか?
元のバイナリを維持する必要があるかどうか、だと思います。
たとえば
No34549
で紹介した EM_FMTLINES などは、
[0Dh 0Dh 0Ah] と [0Dh 0Ah] を明確に区別しているため、
これらの改行コードを統一化してしまうと、
ソフト改行とハード改行を区別できなくなってしまいます。
しかし、それを許容できるケースであるのならば問題無いでしょう。
あるいは RFC1945 で定義された HTTP Header だと、
長い行の折り返しのために、行末に LWS (Linear White Space) すなわち
「CRLF(0Ah,0Dh) の後に、SP(20h) または HT(09h) が 1 つ以上続くトークン」
を付与することになっています。
この場合、出力側としては【CRLF を使うことが求められる】のですが、
その一方で、入力側は CRLF の代わりに単独 CR や単独 LF が
使われることも許容して処理するべきとされています。
そのほか XML Parser の世界では、XML 1.0 勧告において、
内部処理のために正規化した【LF のみに統一された文字列】として
処理することになっています。
なので、XML の解析処理を行った後は、CR や CRLF が
LF に変換された出力される可能性が高いです。
(未加工で出力してくる処理系もあります)
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34553
/ ResNo.6)
Re[2]: 改行のコード
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1303回)-(2020/10/04(Sun) 13:16:45)
■
No34552
に追記(魔界の仮面弁士の記事)
>>0Ah だけ
>>0Dh だけ
>>0Dh 0Ah
>>のどれかにしてしまっていいものでしょうか?
> 元のバイナリを維持する必要があるかどうか、だと思います。
なお、メッセージボックスに出力する場合には
CrLf は使わない方が安全です。
たとえば VB.NET や Excel VBA から
Call MsgBox("1行目はCR" & vbCr & "2行目はCRLF" & vbCrLf & "3行目はLF" & vbLf & "さて、どうなるか?", vbInformation)
とした場合、いずれも 1 つの改行と認識されて 4 行構成で表示されます。
しかし、メッセージボックス上で Ctrl+C を押して
テキストの内容をクリップボードに送出した場合、LF → CRLF 変換が入り、
CR → 0Dh
CRLF → 0Dh,0Dh,0Ah
LF → 0Dh,0Ah
という自動変換を伴ってコピーされることになります。
これをメモ帳などに貼り付けると、CRLF のところが 2 重改行のように
見えてしまう事でしょう。
とはいえ、メッセージボックスそのものの表示は問題無いわけですから、
クリップボードの内容を意識しない場合には、元の改行を意識せず、
そのまま無加工でメッセージボックスに渡しても問題無いとも言えます。
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34565
/ ResNo.7)
Re[5]: 改行のコード
▲
▼
■
□投稿者/ shu
大御所(490回)-(2020/10/20(Tue) 16:18:34)
■
No34551
に返信(Vettyさんの記事)
StringBuilderを使ってAppendLineをするのが
OS標準となるのでよいと思います。
解決
済
み!
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
このスレッドをツリーで一括表示
スレッド内ページ移動 / <<
0
>>
このスレッドに書きこむ
入力内容にタグは利用できません。
引用部分(行頭に「>」や「■」が付いている部分)が全体の 80% 以上のコメントは投稿できません。
半角カナは使用しないでください。文字化けの原因になります。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例)
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
投稿前に必ずお読みください
初めて投稿される方は、必ず「
書き込みのルールについて(12/4/2更新)
」をお読みください。
読むのが面倒、ルールを守りたくないという方は、「
お気楽掲示板
」へ投稿してください。
質問を投稿する場合は、「
質問をする際のアドバイス
」を参考にしてください。
投稿は、明記のない限り、パブリックドメインになります。
マルチポストされた投稿を報告する時は匿名で投稿し、マルチポストされている場所を併記してください。以下のリンクをクリックしていただくと、自動で下のフォームが埋まりますので、その後「送信」ボタンを押してご投稿ください。
マルチポストの報告をする
マルチポストの報告をするが、マルチポスト先の投稿が嫌がらせである(元の投稿者とは別人が行なっている)可能性が高い
(投稿日時に開きがあり、こちらの投稿の方が早い場合は、その可能性が高いです)
Name
/
E-Mail
/
Title
/
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
■No34546に返信(Vettyさんの記事) > いろいろな場所から情報を集めてくると、改行コードの違いがあります。 > 0Ah だけ > 0Dh だけ > 0Dh 0Ah > 0Dh 0Dh 0Ah > が出てきます・ > また、WEBサイトでは意識的だと思いますが常に2行改行を使っている場合 > もあります。 > > > これを自分の資料としてテキストファイルにしてデータベース(もどき?)に > しているのですが、この場合はどのように統一して保管すべきなのでしょうか? > 現在は、表示するときに見やすいように適当に置き換えのルールを決めて > 表示しています。 > > 0Ah だけ > 0Dh だけ > 0Dh 0Ah > > のどれかにしてしまっていいものでしょうか? > >
File
/
アップ可能拡張子=> /
.gif
/
.jpg
/
.png
/.zip
1) 太字の拡張子は画像として認識されます。
2) 画像は初期状態で縮小サイズ250×250ピクセル以下で表示されます。
3) 同名ファイルがある、またはファイル名が不適切な場合、
ファイル名が自動変更されます。
4) アップ可能ファイルサイズは1回
20KB
(1KB=1024Bytes)までです。
5) ファイルアップ時はプレビューは利用できません。
6) スレッド内の合計ファイルサイズ:[0/300KB]
残り:[300KB]
Icon
/
ホイールロボ
くるりロボ
ぱんだ
ふとめネコ
ねずみ
こあら
疑問ねこ
ランダム
管理者用
(画像を選択/
サンプル一覧
)
削除キー
/
(半角8文字以内)
解決
済
み!
BOX/
解決したらチェックしてください!(スレッドを閉じる目的ではチェックしないでください!)
クリエイティブ・コモンズ・ライセンス
を Comment の末尾に挿入するには、以下のリンクをクリックしてください。(Javascript で挿入しているだけです。)
表示(CC BY)
|
表示-改変禁止(CC BY-ND)
|
表示-継承(CC BY-SA)
|
表示-非営利(CC BY-NC)
|
表示-非営利-改変禁止(CC BY-NC-ND)
|
表示-非営利-継承(CC BY-NC-SA)
プレビュー/
クッキーに保存しない/
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-