From: nobu@... Date: 2014-01-15T04:40:32+00:00 Subject: [ruby-dev:47895] [ruby-trunk - Bug #9415] [Open] Strings#codepoints doesn't respect BOM on UTF-{16, 32} pseudo encodings チケット #9415 が Nobuyoshi Nakada によって報告されました。 ---------------------------------------- Bug #9415: Strings#codepoints doesn't respect BOM on UTF-{16,32} pseudo encodings https://bugs.ruby-lang.org/issues/9415 * 作成者: Nobuyoshi Nakada * ステータス: Open * 優先度: Normal * 担当者: Yui NARUSE * カテゴリ: M17N * 対象バージョン: current: 2.2.0 * ruby -v: r44601 * Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: REQUIRED ---------------------------------------- `String#codepoints`が`UTF-16`、`UTF-32`でのBOMを考慮していません。 ``` $ ruby -e 'puts "%x" % "\u{feff}".encode("UTF-16BE").force_encoding("UTF-16").codepoints' feff $ ruby -e 'puts "%x" % "\u{feff}".encode("UTF-16LE").force_encoding("UTF-16").codepoints' fffe ``` `String#ord`なども同様です。 ``` $ ruby -e 'printf "%x\n", "\u{feff}".encode("UTF-16BE").force_encoding("UTF-16").ord' feff $ ruby -e 'printf "%x\n", "\u{feff}".encode("UTF-16LE").force_encoding("UTF-16").ord' fffe ``` -- http://bugs.ruby-lang.org/