关于编码转换,入者有分

ladofwind 2006-08-14 01:32:20
现在的需求是这样,用户在form中输入一个字符串,
我要把这个字符串做这样的转换:

比如 username=abc张红军

我要把username转成"97,98,99,\u????,\u????,\u????"

其中后三个分别是张红军三个字转成unicode.

用php怎么做到这样? 希望有人写出完整可用的程序,多谢了!!!
...全文
230 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenshuicao 2006-08-15
  • 打赏
  • 举报
回复
学习...
颓废的老猫 2006-08-15
  • 打赏
  • 举报
回复
学习
xuzuning 2006-08-15
  • 打赏
  • 举报
回复
hexdec()
Eddie005 2006-08-15
  • 打赏
  • 举报
回复
接接分~
YT7260 2006-08-15
  • 打赏
  • 举报
回复
学习......
zeroleonhart 2006-08-14
  • 打赏
  • 举报
回复
是不是直接把 5f20算出来啊? 5f20是十六进制吗?
-------------------------------
It should be.
ladofwind 2006-08-14
  • 打赏
  • 举报
回复
急用,我是做java开发的,对php不了解,查也来不及,
希望老大们多给建议
virgolong 2006-08-14
  • 打赏
  • 举报
回复
不会PHP,不过好像任何语言都有转换函数,多查查
ladofwind 2006-08-14
  • 打赏
  • 举报
回复
xuzuning(唠叨) 谢谢你,另一个问题,
如果把中文转成10进制的unicode值呢?(不是用\u开头),
是不是直接把 5f20算出来啊? 5f20是十六进制吗?

多谢了!!
leakey8 2006-08-14
  • 打赏
  • 举报
回复
唠叨强人...
xuzuning 2006-08-14
  • 打赏
  • 举报
回复
$username = 'abc张红军';
preg_match_all("/[\x80-\xff]?./", $username, $r);

$s = array();
foreach($r[0] as $v) {
if(ord($v) < 0x80)
$s[] = ord($v);
else
$s[] = '\\u'.bin2hex(iconv('GBK', 'UCS-2', $v));
}
echo join(',', $s);


out
97,98,99,\u5f20,\u7ea2,\u519b
Mars_ZHOU 2006-08-14
  • 打赏
  • 举报
回复
关注
xwsn 2006-08-14
  • 打赏
  • 举报
回复
帮顶
onlyyouyz 2006-08-14
  • 打赏
  • 举报
回复
关注帮顶!!

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧