Spec-Zone.ru › Ruby on Rails 8.1

module ActiveSupport::Multibyte::Unicode

Константы

UNICODE_VERSION

Версия Unicode, поддерживаемая данной реализацией

Публичные методы экземпляра

compose (codepoints) Показать исходный код
# File activesupport/lib/active_support/multibyte/unicode.rb, line 21
def compose(codepoints)
  codepoints.pack("U*").unicode_normalize(:nfc).codepoints
end

Объединяет разложенные символы в составную форму.

decompose (type, codepoints) Показать исходный код
# 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

Разлагает составные символы на отдельные составляющие.

tidy_bytes (string, force = false) Показать исходный код
# 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API