Go言語でバイナリファイルを作成する
ちょっとしたバイナリファイルをgoで作成する方法。
サンプルはsjisで「あいうえお」の文字コードと改行コードCRを出力している。
package main import ( "bytes" "encoding/binary" "os" ) func main() { buf := new(bytes.Buffer) var data = []byte{ byte(0x82), byte(0xa0), byte(0x82), byte(0xa2), byte(0x82), byte(0xa4), byte(0x82), byte(0xa6), byte(0x82), byte(0xa8), byte(0x0d), } err := binary.Write(buf, binary.BigEndian, data) if err != nil { panic(err) } file, _ := os.Create("result.txt") defer file.Close() file.Write(buf.Bytes()) }
Python2だとこう
with open("result.txt", "wb") as f: f.write(bytearray([0x82, 0xa0, 0x82, 0xa2, 0x82, 0xa4, 0x82, 0xa6, 0x82, 0xa8, 0x0d]))