2013-03-18 1 views
2

Документация SAS классифицирует LOWCASE как «I18N уровень 2», что означает, что ее можно использовать для данных с одним байтом, двойным байтом или несколькими байтами. Поэтому я ожидал бы, что это будет правильно строчить строку UTF8 (если мой сеанс ENCODING - UTF8), даже если он содержит многобайтовые последовательности символов, и он не повредил бы его, обращаясь к каждому байту индивидуально.В SAS, в чем разница между LOWCASE и KLOWCASE?

Учитывая, что такое KLOWCASE? Другие функции «K» обеспечивают эквиваленты для обычных строковых функций, которые не работают с многобайтовыми строками, такими как KSUBSTR, KREVERSE и продолжают работать. KUPCASE и KLOWCASE кажутся разными в том смысле, что они, похоже, ничем не отличаются от своих коллег, не являющихся «К». Возможно, классификация LOWCASE как I18N уровня 2 неверна, и LOWCASE полностью не знает многобайтовых последовательностей?

ответ

1

Я не могу подтвердить, что LOWCASE работает, как ожидалось с DBCS, но я думаю, что это, скорее всего, это (при условии, что это указано здесь: http://support.sas.com/documentation/cdl/en/nlsref/63072/HTML/default/viewer.htm#p1pca7vwjjwucin178l8qddjn0gi.htm )

Я не думаю, что он сделал работу правильно с DBCS в более ранних версиях SAS; 9.1.3, например, имели гораздо худшую совместимость, не говоря уже о версии 8. Поскольку SAS обычно поддерживает функции для обратной совместимости на неопределенный срок, это может быть просто рудиментарной функцией.

+0

Да, это классифицируется как I18N уровень 2. Это была отправная точка моего вопроса. Итак, вы считаете, что LOWCASE не работает с DBCS, тогда они представили KLOWCASE, который был полностью осведомлен о DBCS, затем они изменили поведение LOWCASE на многобайтовых кодировках, чтобы сделать его DBCS осведомленным (тем самым фактически сделав его обратным несовместимым), тем самым делая KLOWCASE устарела? Это, безусловно, правдоподобное объяснение. –

+0

Исправить. SAS полна таких вещей. Если вы хотите получить более окончательный ответ, я отправлю вопрос на SAS-L (SAS listserv); там больше людей, особенно больше тех, кто имеет опыт в двадцать или тридцать лет и более и будет помнить более старые версии. (Кроме того, некоторые сотрудники SAS читают список и могут прослушивать.) – Joe

 Смежные вопросы

  • Нет связанных вопросов^_^