SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 963|回复: 5
打印 上一主题 下一主题

问题求助

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-6-25 17:16:39 | 只看该作者

问题求助

比如 String   un="\u9ec4\u5b88\u5ca9";   
在SAS环境中如何把这个unicode串转成中文呢?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-6-26 13:39:34 | 只看该作者

Re: 问题求助

data a;
    length un $100;
    un="\u9ec4\u5b88\u5ca9";
    a=input(substr(un,3,4),$hex4.);
    put a;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-6-27 11:12:59 | 只看该作者

Re: 问题求助

测了一下,不行哦.
返回的是奇异字符:災
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-6-28 11:18:06 | 只看该作者

Re: 问题求助

通常我会用java写好转换程序编译成class文件,SAS 9可以直接调用java class,这样简单易用。
好像我发过全角/半角互相转换的类似的需求的帖子的,自己找找。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2008-7-1 17:02:39 | 只看该作者

Re: 问题求助

我重新试了一下,之前的回答确实不对,因此也重新找了一些资料
SAS 9.1 National Language Support(NLS):User’s Guide
里面提到一个函数KCVT用来进行编码转换的,但由于你要转成的码不定,所以得到的结果也不尽相同
另外,是用utf-8还是utf-16抑或utf32进行编码也不晓得,你自己看看吧,应该可以试试的,如我随便试的


data _null_;
        a="5b88"x;
        b=kcvt(a,"UTF-16","big5");
        put a=    b=;
run;

LOG输出是:

60   data a;
61       a="5b88"x;
62       b=kcvt(a,"UTF-16","big5");
63       put a=    b=;
64   run;

a=[?b=矫
NOTE: 数据集 WORK.A 有 1 个观测和 2 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间         0.01 秒
      CPU 时间         0.01 秒
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2008-7-2 09:20:37 | 只看该作者

Re: 问题求助

Many Thanks!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 21:58 , Processed in 0.110461 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表