[ruby-dev:47895] [ruby-trunk - Bug #9415] [Open] Strings#codepoints doesn't respect BOM on UTF-{16, 32} pseudo encodings

From: nobu@...
Date: 2014-01-15 04:40:32 UTC
List: ruby-dev #47895
チケット #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/

In This Thread

Prev Next