Quero imprimir o intervalo de caracteres Unicode, de 00B2 a 00B5 (e muitos outros intervalos). Como posso imprimi-los programaticamente?
Obviamente, não sei como definir um caractere Unicode variável e depois fazer aritmética (incremento) para eles.
Estou procurando o loop equivalente a este abaixo.
Como posso imprimir programaticamente um intervalo arbitrário de caracteres Unicode?
#include <iostream>
int main() {
std::cout << "\u00B2" << std::endl;
std::cout << "\u00B3" << std::endl;
std::cout << "\u00B4" << std::endl;
std::cout << "\u00B5" << std::endl;
}
saída (caracteres unicode)
²
³
´
µ
Não tenho certeza se entendi sua pergunta corretamente. No entanto, você pode conseguir isso programaticamente usando um loop e incrementando os pontos de código Unicode. Aqui está um exemplo em C++:
O código acima usa wchar_t para caracteres largos e std::wcout para saída de caracteres largos. A linha std::locale::global(std::locale("")) define a localidade global para o padrão do usuário, o que é necessário para exibir corretamente os caracteres Unicode com base no ambiente do usuário.
Você pode codificar/decodificar de utf-8:
E então
ou
Demonstração