zoukankan      html  css  js  c++  java
  • Zxing中文乱码的简单解决办法

    网上的解决办法都是更改源码来实现,实际上看源码就知道如果在encoder的时候,如果添加了编码,就会用编码来替代默认的编码。

     public static Bitmap ContentToQRBitmap(string content, int size)
            {
                Hashtable hints = new Hashtable();
           
                hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");
          
                ByteMatrix matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, size, size,hints);
                int width = matrix.Width;
                int height = matrix.Height;
               
                Bitmap bmap = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
                for (int x = 0; x < width; x++)
                {
                    for (int y = 0; y < height; y++)
                    {
                        bmap.SetPixel(x, y, matrix.get_Renamed(x, y) != -1 ? ColorTranslator.FromHtml("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF"));
                    }
                }
                return bmap;
            }

    其中,hints的传入是关键,不同版本的hints有不同的格式,有的是hashtable,有的是Dictionary.看你用的版本。我的版本是zxing 2.0

  • 相关阅读:
    面试算法爱好者书籍/OJ推荐
    go语言——数据类型
    go编程规范
    Go语言常见语法错误
    go语言入门
    python——itertools
    linux sed使用
    python——optparse模块
    Linux基本配置
    文件包含
  • 原文地址:https://www.cnblogs.com/zsanhong/p/3148498.html
Copyright © 2011-2022 走看看