ライブラリ
- ビルトイン (33)
-
net
/ http (3) -
net
/ pop (3) - openssl (1)
-
rexml
/ document (1) -
rubygems
/ package / tar _ reader / entry (1) - strscan (2)
- win32ole (1)
クラス
-
Encoding
:: Converter (5) -
Encoding
:: InvalidByteSequenceError (7) -
Gem
:: Package :: TarReader :: Entry (1) -
Net
:: POP3 (3) -
OpenSSL
:: BN (1) -
REXML
:: Child (1) - Random (1)
- String (20)
- StringScanner (2)
-
WIN32OLE
_ VARIANT (1)
モジュール
-
Net
:: HTTPHeader (3)
キーワード
- byterindex (1)
-
bytes
_ read (1) - bytesize (1)
- byteslice (3)
- bytesplice (4)
-
content
_ range (1) -
destination
_ encoding (1) -
destination
_ encoding _ name (1) -
each
_ byte (2) -
error
_ bytes (1) - getbyte (1)
-
incomplete
_ input? (1) -
n
_ bytes (1) -
n
_ mails (1) -
num
_ bytes (1) - peek (1)
- peep (1)
-
primitive
_ convert (2) -
primitive
_ errinfo (1) - putback (2)
- range (1)
-
range
_ length (1) -
readagain
_ bytes (1) - scrub (3)
- scrub! (3)
-
set
_ debug _ output (1) -
source
_ encoding (1) -
source
_ encoding _ name (1) - vartype (1)
検索結果
先頭5件
-
Random
# bytes(size) -> String (72643.0) -
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
@param size 結果の文字列のサイズをバイト数で指定します。
//emlist[例][ruby]{
r2 = Random.new(1)
p r2.bytes(10) # => "%\xF4\xC1j\xEB\x80G\xFF\x8C/"
//}
@see Random.bytes -
String
# bytes -> [Integer] (72628.0) -
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
//emlist[例][ruby]{
"str".bytes # => [115, 116, 114]
//}
ブロックが指定された場合は String#each_byte と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_byte -
String
# bytes {|byte| . . . } -> self (72628.0) -
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
//emlist[例][ruby]{
"str".bytes # => [115, 116, 114]
//}
ブロックが指定された場合は String#each_byte と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_byte -
REXML
:: Child # bytes (72607.0) -
@todo
@todo -
Encoding
:: InvalidByteSequenceError # error _ bytes -> String (54661.0) -
エラー発生時に捨てられたバイト列を返します。
エラー発生時に捨てられたバイト列を返します。
//emlist[例][ruby]{
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
begin
ec.convert("abc\xA1\xFFdef")
rescue Encoding::InvalidByteSequenceError
p $!
#=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "\xFF" on EUC-JP>
puts $!.error_bytes.dump ... -
Encoding
:: InvalidByteSequenceError # readagain _ bytes -> String (54625.0) -
エラー発生時に読み直さなければならないバイト列を返します。
エラー発生時に読み直さなければならないバイト列を返します。
@see Encoding::InvalidByteSequenceError#error_bytes -
Encoding
:: InvalidByteSequenceError # destination _ encoding -> Encoding (45304.0) -
エラーを発生させた変換の変換先のエンコーディングを Encoding オブジェクトで返します。
エラーを発生させた変換の変換先のエンコーディングを Encoding
オブジェクトで返します。
@see Encoding::InvalidByteSequenceError#source_encoding,
Encoding::UndefinedConversionError#destination_encoding -
Encoding
:: InvalidByteSequenceError # destination _ encoding _ name -> String (45304.0) -
エラーを発生させた変換の変換先のエンコーディングを文字列で返します。
エラーを発生させた変換の変換先のエンコーディングを文字列で返します。
@see Encoding::InvalidByteSequenceError#destination_encoding -
Encoding
:: InvalidByteSequenceError # source _ encoding -> Encoding (45304.0) -
エラーを発生させた変換の変換元のエンコーディングを Encoding オブジェクトで返します。
エラーを発生させた変換の変換元のエンコーディングを Encoding
オブジェクトで返します。
@see Encoding::InvalidByteSequenceError#destination_encoding,
Encoding::UndefinedConversionError#source_encoding -
Encoding
:: InvalidByteSequenceError # source _ encoding _ name -> Encoding (45304.0) -
エラーを発生させた変換の変換元のエンコーディングを文字列で返します。
エラーを発生させた変換の変換元のエンコーディングを文字列で返します。
@see Encoding::InvalidByteSequenceError#source_encoding -
OpenSSL
:: BN # num _ bytes -> Integer (36697.0) -
自身を表現するのに使っているバイト数を返します。
自身を表現するのに使っているバイト数を返します。
//emlist[][ruby]{
require 'openssl'
p 0.to_bn.num_bytes # => 0
p 255.to_bn.num_bytes # => 1
p 256.to_bn.num_bytes # => 2
p 0b111_11111.to_bn.num_bytes # => 1
p 0b1000_00000.to_bn.num_bytes # => 2
//} -
String
# byteslice(nth) -> String | nil (36622.0) -
nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。 引数が範囲外を指定した場合は nil を返します。
nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。
引数が範囲外を指定した場合は nil を返します。
@param nth 文字の位置を表す整数を指定します。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1) # => "e"
"hello".byteslice(-1) # => "o"
"\u3042".byteslice(0) # => "\xE3"
"\u3042".byteslice(1) # => "\x... -
Gem
:: Package :: TarReader :: Entry # bytes _ read -> Integer (36607.0) -
自身から読み込んだバイト数を返します。
自身から読み込んだバイト数を返します。 -
Net
:: POP3 # n _ bytes -> Integer (36607.0) -
サーバにあるメールの総バイト数を返します。
サーバにあるメールの総バイト数を返します。
@see Net::POP3#n_mails
@raise TimeoutError 接続がタイムアウトした場合に発生します
@raise Net::POPError サーバがエラーを報告した場合に発生します
@raise Net::POPBadResponse サーバからの応答がプロトコル上不正であった場合に発生します -
String
# byteslice(nth , len=1) -> String | nil (36607.0) -
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は nil を返します。
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。
nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は
nil を返します。
@param nth 取得したい文字列の開始バイトを整数で指定します。
@param len 取得したい文字列の長さを正の整数で指定します。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1, 2) # => "el"
"\u3042\u3044\u... -
String
# byteslice(range) -> String | nil (36607.0) -
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲 外を指定した場合は nil を返します。
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲
外を指定した場合は nil を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1..2) # => "el"
"\x03\u3042\xff".byteslice(1..3) # => "\u3042"
//}
@see String#slice
@see Str... -
String
# bytesize -> Integer (36604.0) -
文字列のバイト長を整数で返します。
文字列のバイト長を整数で返します。
//emlist[例][ruby]{
#coding:UTF-8
# 実行結果は文字コードによって異なります。
p "いろは".size #=> 3
p "いろは".bytesize #=> 9
//}
@see String#size -
String
# bytesplice(index , length , str) -> String (36604.0) -
self の一部または全部を str で置き換えて self を返します。
self の一部または全部を str で置き換えて self を返します。
str_index と str_length もしくは str_range が与えられたとき、self の一部または全部を str.byteslice(str_index, str_length) もしくは str.byteslice(str_range) で置き換えます。
ただし、str の部分文字列は新しい文字列オブジェクトとして生成されません。
置き換え範囲の指定は、長さの指定が省略できないこと以外は
String#byteslice と同じです。
置き換え後の文字列の長さが対象の長さと違う場合、
適切に長... -
String
# bytesplice(index , length , str , str _ index , str _ length) -> String (36604.0) -
self の一部または全部を str で置き換えて self を返します。
self の一部または全部を str で置き換えて self を返します。
str_index と str_length もしくは str_range が与えられたとき、self の一部または全部を str.byteslice(str_index, str_length) もしくは str.byteslice(str_range) で置き換えます。
ただし、str の部分文字列は新しい文字列オブジェクトとして生成されません。
置き換え範囲の指定は、長さの指定が省略できないこと以外は
String#byteslice と同じです。
置き換え後の文字列の長さが対象の長さと違う場合、
適切に長... -
String
# bytesplice(range , str) -> String (36604.0) -
self の一部または全部を str で置き換えて self を返します。
self の一部または全部を str で置き換えて self を返します。
str_index と str_length もしくは str_range が与えられたとき、self の一部または全部を str.byteslice(str_index, str_length) もしくは str.byteslice(str_range) で置き換えます。
ただし、str の部分文字列は新しい文字列オブジェクトとして生成されません。
置き換え範囲の指定は、長さの指定が省略できないこと以外は
String#byteslice と同じです。
置き換え後の文字列の長さが対象の長さと違う場合、
適切に長... -
String
# bytesplice(range , str , str _ range) -> String (36604.0) -
self の一部または全部を str で置き換えて self を返します。
self の一部または全部を str で置き換えて self を返します。
str_index と str_length もしくは str_range が与えられたとき、self の一部または全部を str.byteslice(str_index, str_length) もしくは str.byteslice(str_range) で置き換えます。
ただし、str の部分文字列は新しい文字列オブジェクトとして生成されません。
置き換え範囲の指定は、長さの指定が省略できないこと以外は
String#byteslice と同じです。
置き換え後の文字列の長さが対象の長さと違う場合、
適切に長... -
Encoding
:: InvalidByteSequenceError # incomplete _ input? -> bool (36304.0) -
エラー発生時に入力文字列が不足している場合に真を返します。
エラー発生時に入力文字列が不足している場合に真を返します。
つまり、マルチバイト文字列の途中で文字列が終わっている場合に
真を返します。これは後続の入力を追加することでエラーが
解消する可能性があることを意味します。
//emlist[例][ruby]{
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
begin
ec.convert("abc\xA1z")
rescue Encoding::InvalidByteSequenceError
p $!
#=> #<Encoding::InvalidByteSequenc... -
Net
:: POP3 # set _ debug _ output(f) -> () (27322.0) -
デバッグ用の出力 f をセットします。
デバッグ用の出力 f をセットします。
このメソッドは深刻なセキュリティホールの原因となりえます。
デバッグ以外の用途では使わないでください。
f は << メソッドを持っているオブジェクトでなければなりません。
使用例:
require 'net/pop'
pop = Net::POP3.new('pop.example.com', 110)
pop.set_debug_output $stderr
pop.start('YourAccount', 'YourPassword') {
p pop.n_bytes
}
実行結果:
POP sessi... -
String
# byterindex(pattern , offset = self . bytesize) -> Integer | nil (19204.0) -
文字列のバイト単位のインデックス offset から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。 見つからなければ nil を返します。
文字列のバイト単位のインデックス offset から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のバイト単位のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
offset が負の場合は、文字列の末尾から数えた位置から探索します。
byterindex と String#byteindex とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッ... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize) -> Symbol (18904.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize , options) -> Symbol (18904.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
StringScanner
# peek(bytes) -> String (18712.0) -
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}
また、このメソッドを実行してもスキャンポインタは移動しません。
StringScanner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使ってください。
@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の... -
StringScanner
# peep(bytes) -> String (18712.0) -
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
スキャンポインタから長さ bytes バイト分だけ文字列を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.peek(4) # => "test"
//}
また、このメソッドを実行してもスキャンポインタは移動しません。
StringScanner#peep は将来のバージョンでは削除される予定です。
代わりに StringScanner#peek を使ってください。
@param bytes 0 以上の整数を指定します。
ただし、スキャン対象の... -
Encoding
:: Converter # primitive _ errinfo -> Array (18394.0) -
直前の Encoding::Converter#primitive_convert による変換の結果を保持する五要素の配列を返します。
直前の Encoding::Converter#primitive_convert による変換の結果を保持する五要素の配列を返します。
@return [result, enc1, enc2, error_bytes, readagain_bytes] という五要素の配列
result は直前の primitive_convert の戻り値です。
それ以外の四要素は :invalid_byte_sequence か :incomplete_input か :undefined_conversion だった場合に意味を持ちます。
enc1 はエラーの発生した原始変換の変換元のエンコーディング... -
WIN32OLE
_ VARIANT # vartype -> Integer (18340.0) -
selfの型情報を取得します。
selfの型情報を取得します。
型情報は、WIN32OLE::VARIANTの定数値の組み合わせです。
obj = WIN32OLE_VARIANT.new("string")
obj.vartype # => 8 (WIN32OLE::VARIANT::VT_BSTR)
bytes = WIN32OLE_VARIANT.new([1,2,3,4,5], VT_UI1 | VT_ARRAY)
bytes.vartype # => 8209 (WIN32OLE::VARIANT::VT_ARRAY | VT_UI1) -
Net
:: HTTPHeader # content _ range -> Range|nil (18322.0) -
Content-Range: ヘッダフィールドの値を Range で返します。 Range の表わす長さは Net::HTTPHeader#range_length で得られます。
Content-Range: ヘッダフィールドの値を Range で返します。
Range の表わす長さは Net::HTTPHeader#range_length で得られます。
ヘッダが設定されていない場合には nil を返します。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.content_range # => nil
req['Content... -
Net
:: HTTPHeader # range -> Range|nil (18322.0) -
Range: ヘッダの示す範囲を Range オブジェクトで返します。
Range: ヘッダの示す範囲を Range オブジェクトで返します。
ヘッダにない場合は nil を返します。
@raise Net::HTTPHeaderSyntaxError Range:ヘッダの中身が規格通り
でない場合に発生します。
//emlist[例 正常な値][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
r... -
Net
:: HTTPHeader # range _ length -> Integer|nil (18322.0) -
Content-Range: ヘッダフィールドの表している長さを整数で返します。
Content-Range: ヘッダフィールドの表している長さを整数で返します。
ヘッダが設定されていない場合には nil を返します。
@raise Net::HTTPHeaderSyntaxError Content-Range: ヘッダフィールド
の値が不正である場合に
発生します。
//emlist[例][ruby]{
require 'net/http'
uri = UR... -
String
# each _ byte -> Enumerator (18322.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
//emlist[例][ruby]{
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
//}
@see String#bytes -
String
# each _ byte {|byte| . . . } -> self (18322.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
//emlist[例][ruby]{
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
//}
@see String#bytes -
String
# getbyte(index) -> Integer | nil (18322.0) -
index バイト目のバイトを整数で返します。
index バイト目のバイトを整数で返します。
index に負を指定すると末尾から数えた位置のバイト
を取り出します。
範囲外を指定した場合は nil を返します。
@param index バイトを取り出す位置
//emlist[例][ruby]{
s = "tester"
s.bytes # => [116, 101, 115, 116, 101, 114]
s.getbyte(0) # => 116
s.getbyte(1) # => 101
s.getbyte(-1) # => 114
s.getbyte(6) ... -
Encoding
:: Converter # putback(max _ numbytes) -> String (9622.0) -
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
@return 格納されていたバイト列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=>... -
Net
:: POP3 # n _ mails -> Integer (9322.0) -
サーバにあるメールの数を返します。
サーバにあるメールの数を返します。
@see Net::POP3#n_bytes
@raise TimeoutError 接続がタイムアウトした場合に発生します
@raise Net::POPError サーバがエラーを報告した場合に発生します
@raise Net::POPBadResponse サーバからの応答がプロトコル上不正であった場合に発生します -
Encoding
:: Converter # putback -> String (9022.0) -
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。
後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
@return 格納されていたバイト列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=>... -
String
# scrub {|bytes| . . . } -> String (661.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub! {|bytes| . . . } -> String (661.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub!(repl) -> String (361.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub(repl) -> String (361.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub -> String (61.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub! -> String (61.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
...