偶数汉字转utf-8-VB将汉字字符串转换成 UTF-8格式

问题描述

VB将汉字字符串转换成 UTF-8格式

VB将汉字字符串转换成 UTF-8格式后按照JSON格式提交给服务器,偶数个汉字没有问题,但奇数个汉字时,会有问题,请大师指导。

Private Declare Function MultiByteToWideChar Lib "kernel32 " (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function WideCharToMultiByte Lib "kernel32 " (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
Private Const CP_ACP = 0 ' default to ANSI code page
Private Const CP_UTF8 = 65001 ' default to UTF-8 code page
Dim su As String
'字符转 UTF8
Public Function EncodeToBytes(ByVal sData As String) As Byte() ' Note: Len(sData) > 0
Dim aRetn() As Byte
Dim nSize As Long
nSize = WideCharToMultiByte(CP_UTF8, 0, StrPtr(sData), -1, 0, 0, 0, 0) - 1
If nSize = 0 Then Exit Function
ReDim aRetn(0 To nSize - 1) As Byte
WideCharToMultiByte CP_UTF8, 0, StrPtr(sData), -1, VarPtr(aRetn(0)), nSize, 0, 0
EncodeToBytes = aRetn
Erase aRetn

End Function

' UTF8 转字符
Public Function DecodeToBytes(ByVal sData As String) As Byte() ' Note: Len(sData) > 0
Dim aRetn() As Byte
Dim nSize As Long
nSize = MultiByteToWideChar(CP_UTF8, 0, StrPtr(sData), -1, 0, 0) - 1
If nSize = 0 Then Exit Function
ReDim aRetn(0 To 2 * nSize - 1) As Byte
MultiByteToWideChar CP_UTF8, 0, StrPtr(sData), -1, VarPtr(aRetn(0)), nSize
DecodeToBytes = aRetn
Erase aRetn

End Function

Private Sub Command1_Click()

Dim i As Integer
Dim s As String
Dim mBuff()   As Byte

Text1 = StrConv(EncodeToBytes("中国人"), vbUnicode) '将utf编码的数组转VB可处理字符

End Sub

Private Sub Command2_Click()
Text1 = DecodeToBytes(StrConv(Text1, vbFromUnicode))
End Sub

解决方案

字符串转换成UTF-8
将utf-8格式的汉字转换成16进制
[iOS]把字符串汉字转换成UTF-8编码

解决方案二:

http://www.williamlong.info/archives/1136.html

时间: 2024-08-03 00:35:35

偶数汉字转utf-8-VB将汉字字符串转换成 UTF-8格式的相关文章

汉字输入-输入的汉字外码到机器内部都要转换成机内码,才能被存储和进行各种处理。

问题描述 输入的汉字外码到机器内部都要转换成机内码,才能被存储和进行各种处理. 输入的汉字外码到机器内部都要转换成机内码,才能被存储和进行各种处理.,请问这种处理的具体步骤谁知道?? 解决方案 这没有什么步骤,就是查表.而且你看的这个说法其实是30年前的老皇历了.现在计算机使用的是统一的字符编码,也叫unicode,全世界所有的语言字符都有唯一的编码表示,而不再有什么"机内码" 解决方案二: 将汉字转换成全拼或者首字母(Oracle实现)

急求解决-VB怎么将图片转换成二进制,然后再写入数据库

问题描述 VB怎么将图片转换成二进制,然后再写入数据库 希望将代码写的详细点,我是初学者.选择一张图片后,将它转换成二进制,再用变量保存二进制数据,最后将数据写入数据库 解决方案 将图片转换成二进制写入sqlite

如何将VB.NET 字符串转换成字节数组

问题描述 e.gDimsAsString="123456"要转换成DimbAsByte()=&H12,msg(1)=&H34,msg(2)=&H56可以怎样做?String長度不是固定的,谢谢DimsAsString="123456"DimbAsByte()=Encoding.ASCII.GetBytes(s)這方法出来的是msg(0)=49,msg(1)=50.........是不行的 解决方案 解决方案二:SubString2位一个长度然

GB码转换成UTF

转换  很早以前找到一个把GB码转化为UTF-8的函数,配合一个GB到UNICODE的对照表(gb2312.txt),用于在GD中输出汉字.后来发现在欲输出的内容中含有西文字符时,会出现混乱.后来找到了修改后的代码,解决了问题.现将两个函数做一对比分析如下. 首先,这是一个UNICODE到UTF-8编码转换的函数,这一部分修改前后没有变化:function u2utf8($c){for($i=0;$i<count($c);$i++)$str="";if ($c < 0x80

unicode编码转换:PHP将汉字转换成Unicode编码的函数

这是一个将汉字转换成Unicode编码的PHP函数,支持GBK和UTF8编码.function uni_decode ($uncode){$word = json_decode(preg_replace_callback('/(\d{5});/', create_function('$dec', 'return \'\\u\'.dechex($dec[1]);'), '"'.$uncode.'"'));return $word;}对 Unicode 转换为汉字function uni_

将数字转换成汉字的一段ASP程序

程序|汉字|转换 '--------------------数字向汉字转换的函数集合  ------------------------'作者:northsnow    '日期:20051217'调用方法:  a=convertNumToStr("1234.5678")'功能: 将这样的串  1234.5678 转换成 一千二百三十四点五六七八''将一串数字转成对应的汉字 function convertNumToStr(pNum)    dim oNum,rValue    oNum

excel怎么批量将汉字转换成拼音?

  excel怎么批量将汉字转换成拼音?            步骤 1.打开一张需要转换的Excel表格(如图所示,小编乱打的姓名,如有雷同,纯属巧合) 2.执行"工具→宏→Visual Basic编辑器"命令,或者直接按"Alt+F11"组合键,进入Visual Basic编辑状态.也就是图中所用的灰色的编辑界面 3.如图所示,点击"插入→模块"命令 4.插入一个新模块后,会看到如图所示的界面 5.由于字数限制,代码过多无法在这里输入,代码以

python实现将汉字转换成汉语拼音的库

  本文实例讲述了python实现将汉字转换成汉语拼音的库.分享给大家供大家参考.具体分析如下: 下面的这个python库可以很容易的将汉字转换成拼音,其中用到了一个word.data 的字典,可点击此处本站下载. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 #!/usr/bin/env python # -*

自动将汉字转换成拼音第一个字母

/// <summary>   /// 把汉字转换成拼音第一个字母   /// </summary>   /// <param name="ChineseStr"></param>   /// <returns></returns>   private string ChineseCap(string ChineseStr)   {    string Capstr="";