For the GHOSTs

For the GHOSTs

评价数不足
手紙について(ネタバレあり)
由 SIGM@TURE 制作
とある手紙の読み方について。
   
奖励
收藏
已收藏
取消收藏
手紙について(ネタバレあり)
もちろん、これはネタバレですので、少なくとも実績「True End」を達成するまでは見ない方がよいでしょう。自力で気づく人も多いでしょうが。
リリースからそこそこ経過しているので、あるファイルに関して書こうと思います。

以降、spoilerで隠すと機能しづらい内容のみ残してspoilerタグで隠します。
このガイドを書くに至った経緯
ここまで来られた方はすでに、「さかなへ.lmk」というファイルについてはご存知でしょう。
しかし、「lmk」などという拡張子など知らないから開けなかった、みたいな方もいるかと思います。

本当であれば、他人から他人に送った手紙を開けるのは無粋ではあるでしょうが、
ただ、テキストとして用意されているそれを、最後まで読みたいと思うことは普通のことと思います。
そこで、単に専門でないので読めなかったというのは悲しいかな、と思い、ここに読み方を記述しようと思いました。
(背景情報が不要でとにかく中身が見たいのであれば「読む方法の一例」をどうぞ)
中身の構造について
このファイル、実は開いてみるとただのテキストファイルであることが分かります。
テキストファイルとは何ぞやという方もいると思いますが、要するに「メモ帳」アプリとかで読めるというものです。
「いや、ダブルクリックしても開けなかったけど?」とお思いかもしれませんが、右クリック→プログラムから開く→メモ帳とするとメモ帳で開けます。

さて、テキストだからこれで読める、と思いきや、中身は文字ですが意味不明です。
書いてある内容が「0」「1」「半角スペース」のみになっています。

……0と1、つまり2進数ですね。
2進数で書かれた数字が途中でスペースで区切られている内容になっています。
つまり、スペースの区切りごとに分けてそれぞれを数値に直すと、数字の列ができますね。

ところで、コンピュータ内で文字はどのように扱われているかというと、
コンピュータは実際のデータとしては数値(0と1の集合で表現できるデータ)しか扱えないので、
ある数値を文字として読む場合はこの文字です、みたいに決めています。
この決まりを「文字コード」と呼びます。

「さかなへ.lmk」を解析してできた数字の列も、実はある文字コードとして解釈すると読むことができます。
読む方法の一例
Windows 10~には標準で「Windows PowerShell」アプリが搭載されています。
特に追加のアプリを使わずに読むならこれが一番手っ取り早いです。
「さかなへ.lmk」のファイルがあるフォルダでShiftキーを押しながら右クリックし、出てきたメニューから「PowerShellウィンドウをここで開く」を選択してください。
そこで開いたウィンドウに以下のコマンドを打ち込んでEnter、で中身が表示されるでしょう。


[System.Text.Encoding]::GetEncoding('utf-8').GetString($($(Get-Content .\さかなへ.lmk) -split ' ' | ForEach-Object { [System.Convert]::ToByte($_, 2) }))

テキストに出してじっくり読みたい人は以下のようにするとテキストが生成されるので、それを読むとよいでしょう。

[System.Text.Encoding]::GetEncoding('utf-8').GetString($($(Get-Content .\さかなへ.lmk) -split ' ' | ForEach-Object { [System.Convert]::ToByte($_, 2) })) > さかなへ_解読.txt