问题描述
我有一个相当复杂的问题,但请尝试将其分解为一些我无法理解的基本知识。
最后,我需要从用户输入字符串中获取哈希值,在Mac和Windows上必须相同。在经历了各种方法失败之后,我仅从简单的picosha2.h
哈希(char
)开始。虽然ASCII范围的哈希值在两个平台上均相等,例如const char* cc = "ø";
给出不同的结果。从将声明更改为unsigned
时的错误猜测是,Xcode将"ø"
视为const char[3]
,而Visual Studio将其视为const char[2]
。
另一个示例"書"
在Xcode中给出了正确的Unicode字符数组大小4,而在Visual Studio中仍然只有2。
如果查看实际的内存内容,我会发现Xcode为c3 b8
存储了"ø"
,它与UTF-8代码匹配,而Visual Studio显示了f8
,这是该字母的Unicode代码点的值,这使我更加困惑(https://www.utf8-chartable.de)。
是否有机会使Visual Studio(在运行时)将字符串解释为UTF-8并以与Xcode相同的方式存储它们?