标题:求:如何判断中、英文标点符号?
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
如果是标准字库编码,字或符是有区位定义。
2022-12-17 23:02
cssnet
Rank: 4
等 级:业余侠客
威 望:4
帖 子:317
专家分:203
注 册:2013-10-4
得分:0 
以下是引用吹水佬在2022-12-17 23:02:16的发言:
如果是标准字库编码,字或符是有区位定义。


确实是搞复杂了,呵呵,用区位比较简单。
另,#3的代码,英文符号也有漏洞,“\”(0h5C)这个符号,居然成功混过了这一句代码:
*设c1 = "\"
c2 = Strconv(c1, 1)
? c2 == c1
2022-12-18 09:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
标准字库本身就有规范,直接查表就可以。
简单写个GB2312-80标准的

程序代码:
hzs = "汉#字¥啊%挨&鼾、尊。昨℃匾$鼽│左┃卦┄阿┅鼹"
FOR i=1 TO LENC(hzs)
    hz = SUBSTRC(hzs,i,1)
    ? " ", hz, hzqm(hz)
ENDFOR
RETURN

FUNCTION hzqm(hz)
    LOCAL qm
    qm = BITRSHIFT(ASC(hz)-0xA0A0,8) 
    RETURN ICASE(BETWEEN(qm, 1, 9),"符号",;
                 BETWEEN(qm,16,55),"一级汉字",;
                 BETWEEN(qm,56,87),"二级汉字",;
                 "非标码")
    
ENDFUNC
2022-12-18 09:29
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
回复 13楼 吹水佬
妙招,高人啊

坚守VFP最后的阵地
2022-12-18 10:04
cssnet
Rank: 4
等 级:业余侠客
威 望:4
帖 子:317
专家分:203
注 册:2013-10-4
得分:0 
弊就弊在,时光匆匆流转到了2022年,作为一群真的猛士,我们每天需直接面对、需直接处理的字符串,绝大多数是UTF-8、Unicode LE、Unicode BE啊,亲!
光用硬编码对付GB2312-80、GBK,那可不成啊,亲!
还必须做到能够妥善处理Strconv(x, 6)='??'的那一堆千奇百怪的偏僻字符啊,亲!


以下是引用吹水佬在2022-12-18 09:29:58的发言:

标准字库本身就有规范,直接查表就可以。
简单写个GB2312-80标准的


2022-12-18 10:29
cssnet
Rank: 4
等 级:业余侠客
威 望:4
帖 子:317
专家分:203
注 册:2013-10-4
得分:0 
考虑到,今时今日,在这个星球上,几乎一切网页、一切文档,字符串皆采用UTF-8编码,这已经是事实上的“行业标准”了!——无论VFPer喜欢也罢,诅咒也罢,无奈也罢,接受也罢,敌视也罢——故而,字符串相关处理函数的编程开发,若能够直接针对UTF-8编码进行处理,我相信,那必然会是性价比最高的代码开发了。

你说呢,亲?
2022-12-18 10:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
字符编码都可以互转的
VFP的Strconv()也绝对没问题
问题是VFP自身输出的兼容问题,看到的不等于实际的,??也就是编码不在兼容之内,有人叫他“乱码”。
要用UTF-8,VFP也可以找个支持兼容编码控件来处理,这不是什么大的问题。
2022-12-18 11:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用cssnet在2022-12-18 10:53:41的发言:

考虑到,今时今日,在这个星球上,几乎一切网页、一切文档,字符串皆采用UTF-8编码,这已经是事实上的“行业标准”了!——无论VFPer喜欢也罢,诅咒也罢,无奈也罢,接受也罢,敌视也罢——故而,字符串相关处理函数的编程开发,若能够直接针对UTF-8编码进行处理,我相信,那必然会是性价比最高的代码开发了。

你说呢,亲?

VFP作为桌面数据库应用涉及UTF-8的不多,但作为windows平台的应用,应该也能利用windows的功能应付UTF-8的应用吧。
试了一下,VFP也可以直接编辑web页面的。
2022-12-19 17:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510591-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035086 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved