///<summary> ///Get UTF string value from DLMS data. ///</summary> ///<param name="buff"> ///Received DLMS data. ///</param> ///<param name="info"> ///Data info. ///</param> ///<returns> ///Parsed UTF string value. ///</returns> private static object GetUtfString(GXByteBuffer buff, GXDataInfo info, bool knownType) { object value; int len; if (knownType) { len = buff.Size; } else { len = GXCommon.GetObjectCount(buff); // If there is not enough data available. if (buff.Size - buff.Position < len) { info.Complete = false; return null; } } if (len > 0) { value = buff.GetStringUtf8(buff.Position, len); } else { value = ""; } if (info.xml != null) { info.xml.AppendLine(info.xml.GetDataType(info.Type), "Value", value); } return value; }