コード例 #1
0
ファイル: Scanner.cs プロジェクト: KirillOsenkov/XmlParser
        public int UTF16ToUnicode(Scanner.XmlCharResult ch)
        {
            switch (ch.Length)
            {
                case 1:
                    return Convert.ToInt32(ch.Char1);
                case 2:
                    Debug.Assert(
                        Convert.ToInt32(ch.Char1) >= 0xD800 &&
                        Convert.ToInt32(ch.Char1) <= 0xDBFF &&
                        Convert.ToInt32(ch.Char2) >= 0xDC00 &&
                        Convert.ToInt32(ch.Char2) <= 0xDFFF);
                    return (
                        Convert.ToInt32(ch.Char1) - 0xD800) << 10 +
                        (Convert.ToInt32(ch.Char2) - 0xDC00) + 0x10000;
            }

            return 0;
        }
コード例 #2
0
ファイル: Parser.cs プロジェクト: akrisiun/SourceBrowser
 public Parser(Buffer buffer, CancellationToken cancellationToken = default(CancellationToken))
 {
     this.buffer = buffer;
     this._scanner = new Scanner(buffer);
     this.cancellationToken = cancellationToken;
 }