首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >日本半/全宽度转换

日本半/全宽度转换
EN

Stack Overflow用户
提问于 2010-07-12 10:24:26
回答 1查看 2.5K关注 0票数 3

在日语中,我遇到了一个使用glib::ustring的字符宽度问题。

我有一个字符串:ウェッジパンプス

我想将其转换为:ウエッシパンプス

使用ustring::normalize,我得到这个字符串:ウェッジパンプス(实际上,在这里,每个带有重音的字符都填充了两个字符的宽度)

有标准的方法来做这种处理吗?重症监护室更擅长这样做吗?

我需要将日语字符串转换成这两种格式中的一种,因为半宽度的字符串与完全宽度的字符串不同。

EN

回答 1

Stack Overflow用户

发布于 2010-07-12 12:28:56

有一些LCMapString可以在半/全宽的平假名/片假名之间进行转换。

代码语言:javascript
运行
复制
AnsiString text = "変換する文字列"; //input text
//変換方法 how to convert
DWORD flags = LCMAP_FULLWIDTH; //全角文字にします。flag to convert to full width
//DWORD flags = LCMAP_HALFWIDTH; //半角文字にします)。to half width
//DWORD flags = LCMAP_HIRAGANA; //ひらがなにします。to hiragana
//DWORD flags = LCMAP_KATAKANA; //カタカナにします。to katakana
const int size = text.Length() * 2 + 1;
char* s = new char[size];
try
{
  ZeroMemory(s, size);
  LCMapString(GetUserDefaultLCID(),
              flags,
              text.c_str(),
              text.Length() + 1,
              s,
              size);
  AnsiString newtext = s; //変換した文字列 converted text
  return newtext;
}

参考文献:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3227617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档