[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
102: デフォルトの名無しさん [sage] 2019/10/23(水) 15:22:28.55 ID:Q75cL8J3 >>101 > OSの違いもかなり吸収されてWindowsでもLinuxでも何も変更せずに動くプログラムも作れる。 これでとんでもない目に遭ったぞ。 perlの\nは、内部的にはLF のみだが、OSがWindowsなら、出力する際に CR+LF に自動的に変換してくれる。 しかし、出力文字コードがutf16le だと、特殊な宣言文を書かない限り、 LF (0x000a)は 「0x000a000d」ではなく、「0x000a0d」に変換され、 ぐちゃぐちゃに文字化けする。 文字化けの原因を特定し、回避方法を見つけるために、ずいぶん時間を取られた。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/102
104: デフォルトの名無しさん [] 2019/10/23(水) 17:37:45.28 ID:azQS8Nqn >>102 \n は他の言語でも気を付けた方が良い。 例えC言語だったとしても歴史的な事情でライブラリが勝手に変換するかも知れない。 この頃はそれにまつわるバグは減ってるとは思うけどね。 ま、少なくとも \n を \x0a だと信じ込んで使うのは止めた方がいいだろうな。 \x0a はあくまでも \x0a と書いた方が良い。 Javaとかでは改行は System.out.println() を使って改行させるようにして \n を埋め込んでの改行は極力避けた方が良い。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/104
105: デフォルトの名無しさん [sage] 2019/10/24(木) 00:15:31.72 ID:dNYiTPCj >>102 いや、特殊な宣言文ってなんだよ。PerlIO の man 読めよ。 open 関数や binmode 関数の説明にも「PerlIO を読め」って書いてあるよ。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/105
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.397s*