码迷,mamicode.com
首页 > 其他好文 > 详细

QRMaker生成二维码,支持中文

时间:2016-01-02 20:31:52      阅读:2065      评论:0      收藏:0      [点我收藏+]

标签:

QRMaker如果想支持中文,可以将中文转为UTF8,然后用InputDateB直接传入Byte()

Option Explicit
  
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long
Private Const CP_UTF8 = 65001
  
Public Function UTF8_Encode(ByVal strUnicode As String) As Byte()
‘UTF-8 编码
  
    Dim TLen As Long
    Dim lngBufferSize As Long
    Dim lngResult As Long
    Dim bytUtf8() As Byte
      
    TLen = Len(strUnicode)
    If TLen = 0 Then Exit Function
      
    lngBufferSize = TLen * 3 + 1
    ReDim bytUtf8(lngBufferSize - 1)
      
    lngResult = WideCharToMultiByte(CP_UTF8, 0, StrPtr(strUnicode), TLen, bytUtf8(0), lngBufferSize, vbNullString, 0)
      
    If lngResult <> 0 Then
        lngResult = lngResult - 1
        ReDim Preserve bytUtf8(lngResult)
    End If
      
    UTF8_Encode = bytUtf8
End Function

Private Sub Command1_Click()
On Error GoTo Err_Exit
    
With QRmaker1
    .ModelNo = 2
    .CellPitch = 5
    .CellUnit = 203
    .QuietZone = 0
    .InputDataB = UTF8_Encode(Text1.Text) ‘转为UTF8编码输入可以处理中文
    .Refresh
End With

Exit Sub
Err_Exit:
    ‘Err.Raise Err.Number, Err.Source, Err.Description
    MsgBox Err.Number & "|" & Err.Source & "|" & Err.Description
End Sub

  

QRMaker生成二维码,支持中文

标签:

原文地址:http://www.cnblogs.com/d47a2/p/5095136.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!