示例#1
0
        internal static PinyinUnit Deserialize(BinaryReader binaryReader)
        {
            var pinyinUnit = new PinyinUnit();
            var bytes      = binaryReader.ReadBytes(7);

            pinyinUnit.Pinyin = Encoding.ASCII.GetString(bytes, 0, 7);
            var array     = new char[1];
            var trimChars = array;

            pinyinUnit.Pinyin = pinyinUnit.Pinyin.TrimEnd(trimChars);
            return(pinyinUnit);
        }
示例#2
0
        internal static PinyinDictionary Deserialize(BinaryReader binaryReader)
        {
            var pinyinDictionary = new PinyinDictionary();

            binaryReader.ReadInt32();
            pinyinDictionary.Length = binaryReader.ReadInt16();
            pinyinDictionary.Count  = binaryReader.ReadInt16();
            pinyinDictionary.Offset = binaryReader.ReadInt16();
            binaryReader.ReadBytes(8);
            pinyinDictionary.PinyinUnitTable = new List <PinyinUnit>();
            for (var i = 0; i < pinyinDictionary.Count; i++)
            {
                pinyinDictionary.PinyinUnitTable.Add(PinyinUnit.Deserialize(binaryReader));
            }
            binaryReader.ReadInt16();
            return(pinyinDictionary);
        }
示例#3
0
 internal bool Match(PinyinUnit pinyinUnit)
 {
     return(string.Compare(pinyinUnit.Pinyin, _expectedPinyin, true, CultureInfo.CurrentCulture) == 0);
 }