#regex #amazon-web-services #unicode #utf-8 #amazon-dynamodb
Вопрос:
У меня есть пример использования, когда мне нужно хранить символ юникода в таблице AWS::Dynamodb. Затем мой код извлек бы это значение из базы данных DDB и использовал бы его в качестве шаблона регулярного выражения, чтобы проверить, соответствует ли строка этому регулярному выражению.
Когда я храню данные в базе данных ddb, например u1122, они автоматически преобразуются в строку UTF-8. Похоже, что DDB внутренне не хранит данные в юникоде.
Могу ли я полагаться на эти данные базы данных DDB, например, когда мой код извлекает значение из базы данных DDB, то он получает то же значение, которое я сохранил изначально ?? В противном случае соответствие регулярному выражению не было бы рассчитано правильно.
Заранее спасибо.
Комментарии:
1. Фраза «хранить данные в юникоде» ничего не значит. Unicode определяет сопоставление чисел с кодовыми точками, но не определяет, как кодировать эти числа. UTF-8-это одна кодировка. UTF-16 и UTF-32 также являются популярными кодировками. JavaScript «escape ASCII» (
uNNNN
) — это еще одна кодировка (но она не более «юникод», чем любая другая, возможно, меньше). Если ваша система (вы не указали свой язык) правильно декодирует UTF-8, то это сработает. Все, что создано для работы с DDB, должно правильно декодировать UTF-8. Вы столкнулись с проблемой? Вам нужно будет объяснить, какие инструменты вы используете.