private static byte[] GetInsertModeHeader(EnumInsertMode insertMode) { if (insertMode == EnumInsertMode.文本) { return(new byte[] { 0x74 }); } if (insertMode == EnumInsertMode.二维码) { return(Encoding.ASCII.GetBytes("Q")); } if (insertMode == EnumInsertMode.Code128A) { return(Encoding.ASCII.GetBytes("A")); } if (insertMode == EnumInsertMode.Code128B) { return(Encoding.ASCII.GetBytes("B")); } if (insertMode == EnumInsertMode.Code128C) { return(Encoding.ASCII.GetBytes("C")); } if (insertMode == EnumInsertMode.ENA13) { return(Encoding.ASCII.GetBytes("E")); } throw new Exception("不存在输入模式"); }
/// <summary> /// 获取动态插入的命令 /// </summary> /// <param name="insertMode">动态插入模式</param> /// <param name="content">插入的内容</param> /// <param name="index">小红点的位置</param> /// <returns></returns> public static byte[] GetDynamicInsert(EnumInsertMode insertMode, string content, ushort index) { //获取头部 byte[] header = GetInsertModeHeader(insertMode); //获取发送的文本 var contentData = Encoding.ASCII.GetBytes(content); //获取长度 var length = new byte[] { (byte)contentData.Length }; //小红点的位置 var indexBytes = BitConverter.GetBytes(index); //拼接数组 var dataList = header.Concat(length).Concat(new byte[] { (byte)index }).Concat(contentData).ToArray(); return(GetCommand(0x20, dataList)); }