SAS文档将LOWCASE分类为“I18N级别2”,这意味着它可用于单字节,双字节或多字节数据。因此,我希望它能正确地降低UTF8字符串的大小写(假设我的会话ENCODING是UTF8),即使它包含多字节字符序列,也不会通过单独处理每个字节来破坏它。
鉴于此,KLOWCASE的用途是什么? 其他'K'函数都提供了与多字节字符串不兼容的普通字符串函数的等价物,例如KSUBSTR,KREVERSE和do。 KUPCASE和KLOWCASE似乎有所不同,因为它们似乎与非'K'对应物没有什么不同。 也许LOWCASE的分类为I18N 2级是不正确的,而LOWCASE完全没有意识到多字节序列?
答案 0 :(得分:1)
我无法确认LOWCASE是否与DBCS一样正常工作,但我认为它可能确实如此(鉴于它已在此处指出: http://support.sas.com/documentation/cdl/en/nlsref/63072/HTML/default/viewer.htm#p1pca7vwjjwucin178l8qddjn0gi.htm )
我不认为它在早期版本的SAS中与DBCS一起正常工作;例如,9.1.3具有更差的兼容性,更不用说版本8.由于SAS通常为了向后兼容的原因而无限期地维护函数,这可能只是一个退化函数。