Example #1
0
        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("不存在输入模式");
        }
Example #2
0
        /// <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));
        }