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); }
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); }
internal bool Match(PinyinUnit pinyinUnit) { return(string.Compare(pinyinUnit.Pinyin, _expectedPinyin, true, CultureInfo.CurrentCulture) == 0); }