public static Iconv /*!*/ Initialize(Iconv /*!*/ self, [DefaultProtocol] MutableString /*!*/ toEncoding, [DefaultProtocol] MutableString /*!*/ fromEncoding) { self._toEncoding = RubyEncoding.GetEncodingByRubyName(toEncoding.ConvertToString()).GetEncoder(); self._fromEncoding = RubyEncoding.GetEncodingByRubyName(fromEncoding.ConvertToString()).GetDecoder(); return(self); }
public static Iconv /*!*/ Initialize(Iconv /*!*/ self, [DefaultProtocol, NotNull] MutableString /*!*/ toEncoding, [DefaultProtocol, NotNull] MutableString /*!*/ fromEncoding) { self._toEncodingString = toEncoding.ConvertToString().ToUpperInvariant(); try { self._toEncoding = RubyEncoding.GetEncodingByRubyName(self._toEncodingString).GetEncoder(); } catch (ArgumentException e) { throw new InvalidEncoding(self._toEncodingString, e); } try { self._fromEncoding = RubyEncoding.GetEncodingByRubyName(fromEncoding.ConvertToString()).GetDecoder(); } catch (ArgumentException e) { throw new InvalidEncoding(fromEncoding.ConvertToString(), e); } self.ResetByteOrderMark(); return(self); }
private void Encoding1() { foreach (var name in preambleEncodingNames) { var encoding = RubyEncoding.GetEncodingByRubyName(name); Assert(encoding != null); // the encoding must be an identity on ASCII characters: Assert(RubyEncoding.IsAsciiIdentity(encoding)); } foreach (var info in Encoding.GetEncodings()) { var encoding = info.GetEncoding(); // doesn't blow up (the method checks itself): RubyEncoding.IsAsciiIdentity(encoding); //Console.WriteLine("case " + info.CodePage + ": // " + encoding.EncodingName); } }