Bufferクラスから16進数の文字列を取り出す
APNs=Apple Push Notification serviceを叩いてたら、エラーのコールバックでBufferクラスなるものでtoken が帰ってきた。無知すぎるのでggり、もとのtokenの文字列にしたいんだけど
var token = notification.device['token'] console.log(token.toString('utf8', 0, token.length));
とやったらめっちゃ文字化けしてたのでおかしいな~と思ったら
はじめてのNode.js:Node.js内でバイナリデータを扱うための「Buffer」クラス | SourceForge.JP Magazine
にあるようにutf8じゃなくてhexでとれってさ。
var token = notification.device['token'] console.log(token.toString('hex', 0, token.length));
すると 3fa1327c1e25b58dc351c110d1b55a613168cd6b91a7b911e47ef88ce3XXXXXX みたいな文字列になってちゃんと取れました。