From c40a330ac121abbf211a955fb86701793fef1611 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 24 Oct 2024 15:45:41 +0900 Subject: [PATCH] Use `String#b` --- lib/json/pure/generator.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/json/pure/generator.rb b/lib/json/pure/generator.rb index 517d4e272..1fc9ba091 100644 --- a/lib/json/pure/generator.rb +++ b/lib/json/pure/generator.rb @@ -50,8 +50,7 @@ module JSON # Convert a UTF8 encoded Ruby string _string_ to a JSON string, encoded with # UTF16 big endian characters as \u????, and return it. def utf8_to_json(string, script_safe = false) # :nodoc: - string = string.dup - string.force_encoding(::Encoding::ASCII_8BIT) + string = string.b if script_safe string.gsub!(SCRIPT_SAFE_ESCAPE_PATTERN) { SCRIPT_SAFE_MAP[$&] || $& } else @@ -62,8 +61,7 @@ def utf8_to_json(string, script_safe = false) # :nodoc: end def utf8_to_json_ascii(string, script_safe = false) # :nodoc: - string = string.dup - string.force_encoding(::Encoding::ASCII_8BIT) + string = string.b map = script_safe ? SCRIPT_SAFE_MAP : MAP string.gsub!(/[\/"\\\x0-\x1f]/n) { map[$&] || $& } string.gsub!(/(