in lib/twitter_cldr/utils/yaml.rb [362:386]
def yaml_escape(str)
str.gsub(/[^a-zA-Z0-9]/u) do |c|
ucs_code, = (c.unpack('U') rescue [??])
case
when ESCAPE_SEQ[c]
ESCAPE_SEQ[c]
when is_printable?(ucs_code)
c
when @options[:escape_as_utf8]
c.respond_to?(:bytes) ?
c.bytes.collect { |b| '\\x%.2x' % b }.join :
'\\x' + c.unpack('H2' * c.size).join('\\x')
when ucs_code == 0x2028 || ucs_code == 0x2029
ESCAPE_SEQ_LB[c]
when ucs_code <= 0x7f
sprintf('\\x%.2x', ucs_code)
when ucs_code <= 0xffff
sprintf('\\u%.4x', ucs_code)
else
sprintf('\\U%.8x', ucs_code)
end
end
end