字符的全角与半角 bb-qq
本帖最后由 1291500406 于 2022-7-4 13:49 编辑(defun BB-str-ToSBC (str)
(vl-list->string
(apply 'append
(mapcar
'
(lambda
(x)
(cond
((= x 32)'(161 161))
((<= 33 x 125)(list 163 (+ x 128)))
((= x 126)(list 161 171))
(t (list x))
)
)
(vl-string->list str)
)
)
)
)
(BB-str-ToSBC"我爱你I LOVE YOU i love you 1314520")
;"我爱你I LOVE YOU i love you 1314520"
(defun BB-str-ToDBC (str / lst c)
(setq lst(vl-string->list str ))
(setq c 0)
(vl-list->string
(vl-remove nil
(mapcar
'
(lambda
(a )
(setq lst (cdr lst))
(cond
((and(= a 161)(= (car lst) 161) )(setq c 1)32)
((and(= a 163)(<= 161 (car lst) 253)) (setq c 1)(- (car lst) 128))
((and(= a 161) (= (car lst) 171) )(setq c 1)126)
(t
(IF (zerop c)
(progn
(setq c 0)
a
)
(progn
(setq c 0)
nil
)
)
)
)
)
lst
)
)
)
)
(BB-str-ToDBC"我爱你I LOVE YOU i love you 1314520")
;"我爱你I LOVE YOU i love you 1314520"
:D啥作用啊,大佬
页:
[1]