ByteList convert_byte(ByteList str, String inputCharset, NKFCharset output) { String outputCharset = output.getCharset(); if (inputCharset == null) { inputCharset = str.getEncoding().toString(); } if (outputCharset.equals(inputCharset)) { return str.dup(); } byte[] outCharsetBytes = outputCharset.getBytes(); EConv ec = EncodingUtils.econvOpenOpts(context, inputCharset.getBytes(), outCharsetBytes, 0, context.nil); if (ec == null) { throw context.runtime.newArgumentError("invalid encoding pair: " + inputCharset + " to " + outputCharset); } ByteList converted = EncodingUtils.econvStrConvert(context, ec, str, EConvFlags.INVALID_REPLACE); converted.setEncoding(context.runtime.getEncodingService().findEncodingOrAliasEntry(outCharsetBytes).getEncoding()); return converted; } }
ByteList convert_byte(ByteList str, String inputCharset, NKFCharset output) { String outputCharset = output.getCharset(); if (inputCharset == null) { inputCharset = str.getEncoding().toString(); } if (outputCharset.equals(inputCharset)) { return str.dup(); } byte[] outCharsetBytes = outputCharset.getBytes(); EConv ec = EncodingUtils.econvOpenOpts(context, inputCharset.getBytes(), outCharsetBytes, 0, context.nil); if (ec == null) { throw context.runtime.newArgumentError("invalid encoding pair: " + inputCharset + " to " + outputCharset); } ByteList converted = EncodingUtils.econvStrConvert(context, ec, str, EConvFlags.INVALID_REPLACE); converted.setEncoding(context.runtime.getEncodingService().findEncodingOrAliasEntry(outCharsetBytes).getEncoding()); return converted; } }
protected RubyString newStr(Ruby runtime, ByteList value) { if (enc2 == null) { return RubyString.newString(runtime, value, getReadEncoding()); } if (ec != null && enc2.isDummy()) { value = EncodingUtils.econvStrConvert(runtime.getCurrentContext(), ec, value, 0); return RubyString.newString(runtime, value, getEnc()); } return EncodingUtils.strConvEncOpts(runtime.getCurrentContext(), RubyString.newString(runtime, value), enc2, enc, ecflags, ecopts); }
protected RubyString newStr(Ruby runtime, ByteList value) { if (enc2 == null) { return RubyString.newString(runtime, value, getReadEncoding()); } if (ec != null && enc2.isDummy()) { value = EncodingUtils.econvStrConvert(runtime.getCurrentContext(), ec, value, 0); return RubyString.newString(runtime, value, getEnc()); } return EncodingUtils.strConvEncOpts(runtime.getCurrentContext(), RubyString.newString(runtime, value), enc2, enc, ecflags, ecopts); }
str = context.runtime.newString(EncodingUtils.econvStrConvert(context, writeconv, ((RubyString) str).getByteList(), EConvFlags.PARTIAL_INPUT));
str = context.runtime.newString(EncodingUtils.econvStrConvert(context, writeconv, ((RubyString) str).getByteList(), EConvFlags.PARTIAL_INPUT));