如何解决将日志条目转换为UniCode
| 我们正在使用带有以下签名的方法来记录消息。void CLog::WriteLog(char * lpszBuffer,...)
样本日志条目为
pLog->WriteLog(\"Eneterd %s\",__ FUNCTION__);
pLog->WriteLog(\"Error Code is %d\",GetLastError());
现在,我们有一个特定的要求在我们的代码中引入unicode支持。我应该进行哪些修改才能轻松引入Unicode支持?该代码有成千上万个这样的日志条目?
还是应该保留这些日志条目?
解决方法
为日志文件指定utf-8格式。不必更改一行记录代码的可能性很好,ASCII字符集中的任何字符的字节值都相同。对于任何不使用带重音符号的英文文本,您都将非常有帮助。
我想这不是本着要求的精神。它破坏了任何机械方式来验证源代码现在是否正确处理了Unicode。与您的主管或项目经理交谈。
, 您需要更改至少支持宽字符的方法签名。例如,
无效的CLog :: WriteLog(wchar * lpszBuffer,...)
当您有权修改该函数的主体时,这是可能的。您将不得不使用Unicode支持的函数来更改printf函数,即wprintf()
如果您无权访问该功能的源代码(如果从库/ dll中使用),则请检查该功能的其他版本是否可用,这些版本均支持unicode。您可以尝试将项目属性更改为“使用Unicode库”,以便将可用功能默认为Unicode功能(如果可用)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。