Подтвердить что ты не робот

Как проверить строку, если она ASCII или нет?

Например, что-то вроде:

"ASCII".is_ascii? # => true

"تجربة".is_ascii? # => false
4b9b3361

Ответ 1

Если ваши строки являются Unicode (и они действительно должны быть в настоящее время), вы можете просто проверить, что все кодовые точки 127 или меньше. Нижними 128 кодовыми точками Unicode являются ASCII.

Ответ 2

Для вас существует метод bult-in Ruby string.

str.ascii_only? → true or false

Возвращает true для строки, которая имеет только символы ASCII.

"abc".force_encoding("UTF-8").ascii_only?          #=> true
"abc\u{6666}".force_encoding("UTF-8").ascii_only?  #=> false