バグソフト製造販売会社

「サルのおもちゃ」のスマホで遊んでいたら、受信するメールが妙な所で改行されていることに気がついた。どこに原因があるのかといろいろ触っていたら、MicrosoftOutlookのメール作成の「オプション」に次のようなものがある。


80文字ごとに改行されるという設定の場合、次のような1文をメールでスマホに送信する。
ただし、この文字数はデフォルトでは「76」だった。

参考
新しいデータをファイルに書き込む前にEOFマーカー(以下[EOF]と書く)を削除しない。この場合、追加が行われても元の[EOF]までのデータしか表示されず、追加後のデータは表示されない。

この例の場合、実際に送信されたものを見ると、以下のようなところで改行されている。

参考
新しいデータをファイルに書き込む前にEOFマーカー(以下[EOF]と書く)を削除しない。こ
の場合、追加が行われても元の[EOF]までのデータしか表示されず、追加後のデータは表
示されない。


文字数45文字と文字数42文字のところで強制改行されている。

「指定の文字数で自動的に文字列を折り返す」という場合、この「指定の文字数」とはどういう計算によるものなのか、その意味が不明である。

これはスマホなどの横幅が狭いものに対する特別の措置かと思って、自己宛のパソコンに出してみると、やはり次のようになっていた。


スマホとの場合と変わらない。
さすがMicrosoftはバグソフトの製造販売を手がける詐欺常習会社だけのことはある(笑)。


私的検討

問題のある上の2つの部分にある全角文字と半角文字の数は次のようになっている。
  1. 第1文目
    「新しいデータをファイルに書き込む前にマーカー以下と書くを削除しない。こ」 … 35文字 (70バイト)
    「EOF([EOF])」 … 10文字 (10バイト)
    合計80バイト

  2. 第2文目
    「の場合、追加が行われても元のまでのデータしか表示されず、追加後のデータは表」 … 37文字 (74バイト)
    「[EOF]」 … 5文字 (5バイト)
    合計79バイト
明らかに「80文字」で「折り返す」ことではないということがわかる。
これから推測できることは、2バイト文字と1バイト文字が混在するマルチバイト文字セット(MBCS)を使ったテキストでの「80バイト」で「折り返す」(改行する)という意味のようである。

- 2020/09/02 -