99件ヒット
[1-99件を表示]
(0.031秒)
キーワード
- CompatibilityError (11)
- Converter (11)
- ConverterNotFoundError (11)
- Encoding (11)
- EncodingError (11)
- IO (11)
- InvalidByteSequenceError (11)
- String (11)
- UndefinedConversionError (11)
検索結果
先頭5件
-
Encoding (6027.0)
-
文字エンコーディング(文字符号化方式)のクラスです。Rubyの多言語対応(M17N)機能において利用されます。
...ンコーディングによるものであるかも併せて保持しています。この情報は String#encoding により取得できます。 Encoding オブジェクトを返すメソッドにはこの他に IO#internal_encoding, IO#external_encoding などがあります。
@see spec/m17n... -
EncodingError (6003.0)
-
エンコーディング関連の例外の基底クラス。
エンコーディング関連の例外の基底クラス。 -
Encoding
:: UndefinedConversionError (3075.0) -
エンコーディング変換後の文字が存在しない場合に発生する例外。
...F-8 にしかない文字を EUC-JP に変換しようとした場合などに発生します。
//emlist[例][ruby]{
"\u2603".encode(Encoding::EUC_JP)
#=> Encoding::UndefinedConversionError: U+2603 from UTF-8 to EUC-JP
//}
変換が多段階でなされ、その途中で例外が生じた場合......e in UTF-8 but not in EUC-JP.
rescue Encoding::UndefinedConversionError
p $!.source_encoding #=> #<Encoding:UTF-8>
p $!.destination_encoding #=> #<Encoding:EUC-JP>
p $!.source_encoding_name #=> "UTF-8"
p $!.destination_encoding_name #=> "EUC-JP"
puts $!.erro......r_char.dump #=> "\u{a0}"
p $!.error_char.encoding #=> #<Encoding:UTF-8>
end
//}... -
Encoding
:: Converter (3021.0) -
文字エンコーディング(文字符号化方式)の変換器のクラスです。既存の変換器より一段細かな処理が可能となります。
...す。既存の変換器より一段細かな処理が可能となります。
Encoding::Converter を用いて変換を行う場合は、Encoding::Converter#convert か、より細かな変換処理が可能な Encoding::Converter#primitive_convert が利用できます。
エンコーディング... -
Encoding
:: InvalidByteSequenceError (3021.0) -
文字列がそのエンコーディングにおいて不正なバイト列である場合に発生 する例外。
...である場合に発生
する例外。
通常エンコーディング変換時に発生します。
//emlist[例][ruby]{
"\x82\xa0".force_encoding("cp932").encode("UTF-8")
#=> "あ"
"\x82\xa0".force_encoding("EUC-JP").encode("UTF-8")
#=> Encoding::InvalidByteSequenceError: "\x82" on EUC-JP
//}... -
Encoding
:: CompatibilityError (3009.0) -
2つのエンコーディング間に互換性がない場合に発生する例外。
...い場合に発生する例外。
エンコーディングの異なる文字列を連結しようとした場合などに発生します。
//emlist[例][ruby]{
"あ".encode("EUC-JP") + "あ".encode("UTF-8")
#=> Encoding::CompatibilityError: incompatible character encodings: EUC-JP and UTF-8
//}... -
Encoding
:: ConverterNotFoundError (3009.0) -
指定した名前のエンコーディング変換をする変換器が 存在しない場合に発生する例外。
...指定した名前のエンコーディング変換をする変換器が
存在しない場合に発生する例外。
//emlist[例][ruby]{
"あ".encode("Foo")
#=> Encoding::ConverterNotFoundError: code converter not found (UTF-8 to Foo)
//}... -
IO (81.0)
-
基本的な入出力機能のためのクラスです。
...込みメソッドです。
テキスト読み込みメソッドは IO のエンコーディングの影響をうけます。
詳しくは「io_encoding」を参照して下さい。
以下がテキスト読み込みメソッドです。
* IO.foreach
* IO.readlines
* IO#each_line
* IO#lines
*......動作します。
例:
f = File.open('t.txt', 'r+:euc-jp')
p f.getc.encoding #=> Encoding::EUC_JP
p f.read(1).encoding #=> Encoding::ASCII_8BIT
====[a:io_encoding] IO のエンコーディングとエンコーディングの変換
IO......定されていない場合
IO からテキスト読み込みメソッドによって読み込まれた文字列のエンコーディングは Encoding.default_external
に設定されます。このとき実際の文字エンコーディングは検査されず、変換もされません。
:......込みメソッドです。
テキスト読み込みメソッドは IO のエンコーディングの影響をうけます。
詳しくは「io_encoding」を参照して下さい。
以下がテキスト読み込みメソッドです。
* IO.foreach
* IO.readlines
* IO#each_line
* IO#gets
*... -
String (51.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
..."
p s #=> "ルビー"
e = "言語".encode("EUC-JP")
u = "言語".encode("UTF-8")
p e.encoding #=> Encoding::EUC_JP
p u.encoding #=> Encoding::UTF_8
//}
より詳しく知りたい場合は、spec/m17n を参照してください。
==== 文字......#=> Encoding::CompatibilityError
//}
String#eql? はハッシュのキーの比較に使われますので、
ハッシュのキーに非 ASCII 文字列を使う場合には注意が必要です。
//emlist[動作例: (注)一行目にmagic commentが必要です。][ruby]{
# encoding: UTF-8......h = {}
s = "いろは"
s.force_encoding("EUC-JP")
h[s] = 1
s.force_encoding("ASCII-8BIT")
p h[s] #=> nil
//}
==== 7bit クリーンな文字列
ASCII 互換エンコーディングをもつ 7bit クリーンな文字列は
エンコーディングに関わらず ASCII...