method
translate_offset
v3.0.0 -
Show latest stable
- Class:
ActiveSupport::Multibyte::Chars
translate_offset(byte_offset)protected
No documentation available.
# File activesupport/lib/active_support/multibyte/chars.rb, line 430
def translate_offset(byte_offset) #:nodoc:
return nil if byte_offset.nil?
return 0 if @wrapped_string == ''
if @wrapped_string.respond_to?(:force_encoding)
@wrapped_string = @wrapped_string.dup.force_encoding(Encoding::ASCII_8BIT)
end
begin
@wrapped_string[0...byte_offset].unpack('U*').length
rescue ArgumentError => e
byte_offset -= 1
retry
end
end