php – 使用UTF8将Javascript十六进制转换为二进制
我将数据存储在sqlite数据库中作为BINARY(16),其值由PHP的 例如,字符串434e405b823445c09cb6c359fb1b7918返回CN @ [4Eà??Y?y. 存储在此数据库中的数据需要由JavaScript操纵,为此,我使用了以下函数(改编自Andris的答案here):
这按预期工作,从434e405b823445c09cb6c359fb1b7918返回CN @ [4Eà??Y?y. 然而,我遇到的问题是,当直接处理PHP的hex2bin函数返回的数据时,我得到字符串CN @ [ 4E Y y而不是CN @ [4Eà??Y?y.这使得我无法在两者之间工作(对于上下文,JavaScript被用于为使用从PHP Web应用程序检索的数据工作的离线iPad应用程序提供动力)因为我需要能够使用JavaScript来生成32 -character十六进制字符串,将其转换为二进制字符串,并使用PHP的hex2bin函数(和sqlite的 我相信这个问题是JavaScript使用UTF-16而二进制字符串存储为utf8_unicode_ci.我最初的想法是,我需要将字符串转换为UTF-8.使用谷歌搜索引导我到here并搜索StackOverflow引导我到bobince的答案here,两者都推荐使用unescape(encodeURIComponent(str)).然而,这确实回归了我需要的东西(CN @ [ 4E Y y]:
那么我的问题是: 如何使用JavaScript将十六进制字符串转换为UTF-8二进制字符串? 解决方法: 您的应用程序不必在任何时候处理二进制文件.插入是最新的可能点,这就是你的地方 插入时,可以用blob文字替换UNHEX:
选择时,你可以HEX: (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |