かなしい事件。
. . . p := filepath.FromSlash(cur + "/peropero.json") f, err := os.Open(p) if err != nil { log.Fatalln(err) } defer f.Close() . . .
以下のようなエラーが出た
2022/05/07 22:56:16 invalid character 'ï' looking for beginning of value
かなしいね
vscode(英語表記)ならここから「UTF-8 with BOM」をクリックして「Reopen with Encoding」->「UTF-8」としてやる。逆にBOM付のファイルにすることはなぜかできなかった(たぶん)
あるいはメモ帳から「名前を付けて保存」するときにエンコード方式を選べて、BOM付もあるらしい。いつのwindowsバージョンからかは知らん。これはwindows11です
BOM付きのファイルは先頭にBOM
の文字が3byteぶん入る。BOM
はutf8でエンコードすると0xEF 0xBB 0xBF
だが、これはwindows cp1252の表現では
になる。今回はファイルを変換したが、逆にos.Open
でBOM付きで開く方法があるかどうかは知らない。まあ先頭3byteを読めばいいだけではあるけど