Как правильно отображать строковые литералы символов в шестнадцатеричном формате с помощью std :: cout в C ++?
Я хочу использовать восьмеричные и шестнадцатеричные символы для вывода строковых литералов символов с помощью std :: cout в C ++.
Я хочу напечатать "пчелу".
#include <iostream>
int main() {
std::cout << "b\145e" << std::endl;//1
std::cout << "b\x65e" << std::endl;//2
return 0;
}
// 1 работает нормально, но // 2 не с шестнадцатеричной escape-последовательностью вне диапазона.
Теперь я хочу напечатать «be3».
#include <iostream>
int main() {
std::cout << "b\1453" << std::endl;//1
std::cout << "b\x653" << std::endl;//2
return 0;
}
Также, // 1 работает нормально, но // 2 не с шестнадцатеричной escape-последовательностью вне диапазона.
Сейчас могу ли я прийти к выводу, что hex не является хорошим способом отображения символов строки символов ?
У меня такое чувство, что я не прав, но не знаю почему.
Может кто-нибудь объяснить, можно ли использовать гекс и как?