コード例 #1
0
ファイル: TextInput.cs プロジェクト: TagsRocks/rsunity
        public static void method526(String s, Stream stream)
        {
            if (s.Length > 80)
            {
                s = s.Substring(0, 80);
            }
            s = s.ToLower();
            int i = -1;

            for (int j = 0; j < s.Length; j++)
            {
                char c = s[j];
                int  k = 0;
                for (int l = 0; l < validChars.Length; l++)
                {
                    if (c != validChars[l])
                    {
                        continue;
                    }
                    k = l;
                    break;
                }

                if (k > 12)
                {
                    k += 195;
                }
                if (i == -1)
                {
                    if (k < 13)
                    {
                        i = k;
                    }
                    else
                    {
                        stream.writeWordBigEndian(k);
                    }
                }
                else
                if (k < 13)
                {
                    stream.writeWordBigEndian((i << 4) + k);
                    i = -1;
                }
                else
                {
                    stream.writeWordBigEndian((i << 4) + (k >> 4));
                    i = k & 0xf;
                }
            }
            if (i != -1)
            {
                stream.writeWordBigEndian(i << 4);
            }
        }