модуль ActiveSupport::Multibyte::Unicode
Константы
- UNICODE_VERSION
-
Версия
Unicode, поддерживаемая реализацией
Открытые методы экземпляра
# File activesupport/lib/active_support/multibyte/unicode.rb, line 21
def compose(codepoints)
codepoints.pack("U*").unicode_normalize(:nfc).codepoints
end Преобразует разложенные символы в составную форму.
# File activesupport/lib/active_support/multibyte/unicode.rb, line 12
def decompose(type, codepoints)
if type == :compatibility
codepoints.pack("U*").unicode_normalize(:nfkd).codepoints
else
codepoints.pack("U*").unicode_normalize(:nfd).codepoints
end
end Преобразует составные символы в разложенную форму.
# File activesupport/lib/active_support/multibyte/unicode.rb, line 30
def tidy_bytes(string, force = false)
return string if string.empty? || string.ascii_only?
return recode_windows1252_chars(string) if force
string.scrub { |bad| recode_windows1252_chars(bad) }
end Заменяет все символы ISO-8859-1 или CP1252 на их UTF-8 эквиваленты, что приводит к правильному UTF-8 строке.
Передача true принудительно приведет к обработке всех байтов, предполагая, что кодировка строки полностью CP1252 или ISO-8859-1.
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.