例如,我有一个符号的utf8十六进制代码:
process.on('uncaughtException', function (err) {
console.error(err);
console.log("Node NOT Exiting...");
});
如何使用此十六进制代码将此字符e0a4a0
打印到c ++文件中?
答案 0 :(得分:1)
我看到您可以采用两种方法:
首先是按字面意义使用"ठ"
,其次是按转义序列\u
或\x
对其进行编码(两者均无效,因此我没有示例)
std::cout<<"ठ\xe0\xa4\xa0"<<std::endl;
但是我认为对您来说最好的选择是以二进制模式打开文件,然后将那些字节放在那里。
答案 1 :(得分:1)
您需要分别输出每个字节。
例如,如果您拥有:
public class TaxCodeValidator implements ConstraintValidator<TaxCode, String> {
private String country;
@Override
public void initialize(TaxCode constraintAnnotation) {
country = constraintAnnotation.country();
}
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
if (value == null || value.isEmpty())
return true;
try {
//my logic checking the country
} catch (Exception e) {
return false;
}
}
}
您需要将第一个字节(前两个字符“ c3”)转换为int,转换为char并输出,然后将第二个字节(“ 86”)转换为输出。
针对这种特殊情况(“ c386”)的转换:
c386
“ c3” = 44 * 16 + 3 = 707,“ 86” = 8 * 16 + 6 =134。将这些int值转换为char并输出它们,您便拥有了自己的角色。