识别泰米尔语字符串并使用 c 或 c++ 处理它们以及unicode的使用
输入是用罗马字母以外的脚本语言给出的。c 或 c++ 程序必须识别它们。
我如何接受泰米尔语输入并将其拆分为字母,以便我可以识别每个泰米尔字母?
如何使用 wchar_t 和区域设置?
The input is given in a language with a script other than the roman alphabets.A program in c or c++ must recognize them..
How do i take input in Tamil and split it into letters so that i can recognize each Tamil alphabet?
how do i use wchar_t and locale?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
C++ 标准库不能完全处理 Unicode,C 也不能。你最好使用像 Boost 这样的跨平台库
The C++ standard libraries do not handle Unicode completely, neither does C; you'd be better off using a library like Boost, which is cross platform
包含并使用 WinAPI 和
windows.h
允许您使用 Unicode,但仅限于 Win32 程序。Including and using WinAPI and
windows.h
allow's you to use Unicode, but only on Win32 programs.请参阅此处,了解我之前关于此主题的咆哮。
假设您的平台能够处理泰米尔语字符,我建议执行以下事件序列:
I. 将输入字符串转换为宽字符串:
II. 将输入字符串转换为宽字符串。将宽字符串转换为具有明确编码的字符串:
最后,
us
中有一个组成输入文本的 Unicode 代码点数组。您现在可以处理这个数组,例如,通过在列表中查找每个代码点并检查它是否来自泰米尔语脚本,并对其进行任何您认为合适的操作。See here for a previous rant of mine on this subject.
Assuming that your platform is capable of handling Tamil characters, I suggest the following sequence of events:
I. Get the input string into a wide string:
II. Convert the wide string into a string with definite encoding:
Finally, you have in
us
an array of Unicode codepoints that made up your input text. You can now process this array, e.g. by looking each codepoint up in a list and checking whether it comes from the Tamil script, and do with it whatever you see fit.