字符型十六进制数串如何按GBK编码成字符串? tab1c1(varchar)CEC4D1A7D2BDD2A92CCEC0C9FA处理后得到c2c2(varchar)文学医药,卫生 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会吧,mssql里没有现成的函数么?如果每隔两个数字加一个%,就可以用php里的urldecode()了,我只会一点PHP和一点mssql 建一表保存gbk字符集,与16进制代码.再写一函数来实现.以下说一下我的思路.1.建一2字段的表变量,一字段为自增列,另一字段用于保存要转换的16进制码 将要转换的16进制串,根据码的长度逐字切断在于表中2.将表与gbk字符集表进行查询,查出对应的字,再根据顺序合成. 没办法切,因为有些是4个数字表示一个汉字,有些是2个数字表示一个西文字符。所以,我觉的,还是我说的办法靠谱一些:每隔两个数字加一个%,再用php里的urldecode()实现反编码 这个我最近有用到,就研究了一下,很简单。在此共享下,希望大家拍转!!!drop procedure prc_HexToStrgo/*hanjs 080619 将16进制字符串转为 字符串 */create procedure prc_HexToStr @source varchar(4000),@str varchar(4000) outputasbegin declare @len int,@sql nvarchar(100) set @len=len(@source)/2 set @sql='declare @c binary('+rtrim(@len)+') set @c=0x'+@source+' set @s=cast(@c as varchar(4000))' exec sp_executesql @sql,N'@s varchar(4000) output',@str outputendgo--调用例子declare @str varchar(4000),@s varchar(4000)set @s='CEC4D1A7'exec prc_HexToStr @s,@str outputselect @str文学set @s='D2BDD2A92CCEC0C9FA'exec prc_HexToStr @s,@str outputselect @str医药,卫生慢慢的感觉MSSQL有些优势了,其实只要是利用binary这个类型就可以处理了。 LZ对于这种最好还是用其他编程语言来实现。SQL有效率问题,不适合做运算,不过这个用sql倒是很方便! 求一带参数的条件语句得分页存储过程 关于"SA"登陆失败 帮我看看这些SQL错在哪里?写的头晕了。 游标进行分条信息插入? 关于查询得到新的结构!最好不要用存储过程 有什么办法可以直接将 varchar 类型转换成数值类型? 请教一个数据库表列动态增加的实现方法 求助触发器一个(判断插入信息来调整表中信息),难难.......请给予支持! 这个sql语句怎么写??踢者有分阿 我练习写存储过程出错,有出错信息,请解答。 我刚安装了win2000的系统!求救升级不了SP4? NVARCHAR类型转换为DATETIME类型的问题
再写一函数来实现.以下说一下我的思路.
1.建一2字段的表变量,一字段为自增列,另一字段用于保存要转换的16进制码
将要转换的16进制串,根据码的长度逐字切断在于表中
2.将表与gbk字符集表进行查询,查出对应的字,再根据顺序合成.
每隔两个数字加一个%,再用php里的urldecode()实现反编码
go
/*hanjs 080619 将16进制字符串转为 字符串 */
create procedure prc_HexToStr @source varchar(4000),@str varchar(4000) output
as
begin
declare @len int,@sql nvarchar(100)
set @len=len(@source)/2
set @sql='declare @c binary('+rtrim(@len)+') set @c=0x'+@source+' set @s=cast(@c as varchar(4000))'
exec sp_executesql @sql,N'@s varchar(4000) output',@str output
end
go
--调用例子
declare @str varchar(4000),@s varchar(4000)
set @s='CEC4D1A7'
exec prc_HexToStr @s,@str output
select @str文学set @s='D2BDD2A92CCEC0C9FA'
exec prc_HexToStr @s,@str output
select @str医药,卫生慢慢的感觉MSSQL有些优势了,其实只要是利用binary这个类型就可以处理了。