馬上給分,繁體字轉換為簡體字問題?

MiracleAizw 2007-11-30 09:06:36
首先添加引用Microsoft.VisualBasic;
string abc = Microsoft.VisualBasic.Strings.StrConv("問題", VbStrConv.SimplifiedChinese, 0);

得到的abc怎么還是"問題",而不是"问题" ,為什么呢?
...全文
187 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Me866 2008-08-21
  • 打赏
  • 举报
回复
ghdfgh
曲滨_銘龘鶽 2007-11-30
  • 打赏
  • 举报
回复
如果不是简体中文系统 StrConv 最后一个参数给 0 会系统会使用如下代码取得 LCID


Thread.CurrentThread.CurrentCulture.LCID
曲滨_銘龘鶽 2007-11-30
  • 打赏
  • 举报
回复
楼主不是简体中文系统吧?
曲滨_銘龘鶽 2007-11-30
  • 打赏
  • 举报
回复
这个也好用啊,楼主为何说不好用?

int lcid = 0x0804;
Console.WriteLine(Microsoft.VisualBasic.Strings.StrConv("问题", VbStrConv.TraditionalChinese, lcid));
Console.WriteLine(Microsoft.VisualBasic.Strings.StrConv("問題", VbStrConv.SimplifiedChinese, lcid));

曲滨_銘龘鶽 2007-11-30
  • 打赏
  • 举报
回复


using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace BigCn
{
class Program
{
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern int LCMapString(int Locale, int dwMapFlags, byte[] lpSrcStr, int cchSrc,[Out] byte[] lpDestStr, int cchDest);

   const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000;

   const int LCMAP_TRADITIONAL_CHINESE = 0x04000000;

static void Main(string[] args)
{

Console.WriteLine(
StringConv("问题", LCMAP_TRADITIONAL_CHINESE)
);

Console.WriteLine(
StringConv("問題", LCMAP_SIMPLIFIED_CHINESE)
);
}



public static string StringConv(string chars, int LCMP_CONST)
{

   Encoding ec = Encoding.Unicode;

byte[] src = ec.GetBytes(chars);

   byte[] dest = new byte[src.Length];

int r = LCMapString(0x0804, LCMP_CONST, src, -1, dest, src.Length);

   return ec.GetString(dest);

   }


}
}
liuyun1987 2007-11-30
  • 打赏
  • 举报
回复
public string toSimplifiedChinese(string sText)
{
return Microsoft.VisualBasic.Strings.StrConv(sText, VbStrConv.SimplifiedChinese);
}
vicqqq 2007-11-30
  • 打赏
  • 举报
回复
using  System;
using System.IO;
using System.Text;
using System.Runtime.InteropServices;
public class EncodeTool
{

[DllImport("kernel32.dll", EntryPoint = "LCMapStringA")]
public static extern int LCMapString(int Locale, int dwMapFlags, byte[] lpSrcStr, int cchSrc, byte[] lpDestStr, int cchDest);

const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000;
const int LCMAP_TRADITIONAL_CHINESE = 0x04000000;

public static String ConvertString(String lines){
Encoding gb2312 = Encoding.GetEncoding(936);
byte[] src=gb2312.GetBytes(lines);
byte[] dest = new byte[src.Length];
LCMapString(0x0804, LCMAP_SIMPLIFIED_CHINESE, src, -1, dest, src.Length);
return gb2312.GetString(dest);
}
}
vicqqq 2007-11-30
  • 打赏
  • 举报
回复
public static extern int LCMapString(int Locale, int dwMapFlags, byte[] lpSrcStr, int cchSrc, byte[] lpDestStr, int cchDest);
vicqqq 2007-11-30
  • 打赏
  • 举报
回复
const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000;
const int LCMAP_TRADITIONAL_CHINESE = 0x04000000;
vicqqq 2007-11-30
  • 打赏
  • 举报
回复
[DllImport("kernel32.dll", EntryPoint = "LCMapStringA")]
MiracleAizw 2007-11-30
  • 打赏
  • 举报
回复
LCMapString是什么函數?
vicqqq 2007-11-30
  • 打赏
  • 举报
回复
  public  static  String  ConvertString(String  lines)
{
Encoding gb2312 = Encoding.GetEncoding(936);
byte[] src=gb2312.GetBytes(lines);
byte[] dest = new byte[src.Length];
LCMapString(0x0804, LCMAP_SIMPLIFIED_CHINESE, src, -1, dest, src.Length);
return gb2312.GetString(dest);
}
grearo 2007-11-30
  • 打赏
  • 举报
回复
帮顶,期待中。。。
MiracleAizw 2007-11-30
  • 打赏
  • 举报
回复
我是想將繁體轉化為簡體,
vicqqq 2007-11-30
  • 打赏
  • 举报
回复
Dim xx, yy As String
xx = "見過了"
yy = Microsoft.VisualBasic.StrConv(xx,VbStrConv.TraditionalChinese,0)

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧