Как создать qr-код в формате tlv (тег, длина, значение) в приложении Windows на c#

#c# #windows

Вопрос:

я хочу создать qr-код с пятью данными tlv.

  1. Название продавцов
  2. Номер НДС
  3. Дата-время
  4. Итого по счету
  5. Сумма НДС

Мне это нужно для счета за НДС Саудовской Аравии. Я хочу реализовать это в пять шагов

  1. Создание данных tlv
  2. Преобразование в шестнадцатеричное представление
  3. Преобразовать в строку
  4. Преобразовать в строку base64
  5. Создайте растровое изображение qr — кода.

Любая помощь будет оценена по достоинству

Комментарии:

1. Вы рассматривали возможность найма разработчика?

Ответ №1:

Привет, мы завершили и создали демонстрационную программу для понимания ( я использую c# для демонстрации)

Посмотрите мой код, и вы должны понять

1 ) Определите функцию для преобразования каждого ТЕГА в шестнадцатеричный, минуя номер тега и значение ТЕГА и возвращая шестнадцатеричное значение

 public static String text2hex(Int32 Tagnum, String TagVal)  {  string hexval = text2hex(TagVal);  string hextag = decToHexa(Tagnum);  string hexlen = decToHexa(TagVal.Length);  return (hextag   hexlen   hexval);  }  

2 ) Определите функцию для передачи шестнадцатеричного значения и возврата значения в кодировке BASE64

 public static String HexToBase64(string strInput)  {  var bytes = new byte[strInput.Length / 2];  for (var i = 0; i lt; bytes.Length; i  )  {  bytes[i] = Convert.ToByte(strInput.Substring(i * 2, 2), 16);  }  return Convert.ToBase64String(bytes);  }  

3 ) преобразуйте все теги и значения тегов и объедините их (формат TLV)

 string Hexcode = text2hex(1, CompName)   text2hex(2, Vatno)   text2hex(3, datetimetax)   text2hex(4, amountTotal)   text2hex(5, amountVat);  
  1. как только у вас будет шестнадцатеричный код присоединенного значения, преобразуйте их в base64

    строка шестнадцатеричной базы = Base64StringEncode(шестнадцатеричный код)

  2. Преобразуйте Base64 в QR-код

справочный документ

введите описание изображения здесь