none
Asc 函数在简体中文 Windows 和繁体中文 Windows 的不同结果? RRS feed

  • 问题

  • 例如:Asc("强")

    简体中文: 值为负数: -14401

    繁体中文环境:值为正数: 63

    看帮助,Asc 好像和 CultureInfo 的 AscIICodePage 有关,加入下面这行,结果不变。

    Threading.Thread.CurrentThread.CurrentCulture = Globalization.CultureInfo.CreateSpecificCulture("zh-CN")

    请问 Asc 函数如何在繁体中文环境下也获得简体中文的这个值 -14401?

    2015年10月14日 3:17

全部回复

  • 换一种方法实现:

    Dim cn As System.Text.Encoding = System.Text.Encoding.GetEncoding(936)
            Dim arr() As Byte = cn.GetBytes("强")
            MessageBox.Show(arr(0))

    • 已建议为答案 Xavier Xie-MSFT 2015年10月19日 7:35
    • 取消建议作为答案 sscd 2015年10月30日 3:21
    2015年10月15日 7:48
  •         Dim cn As System.Text.Encoding = System.Text.Encoding.GetEncoding(936)
            Dim arr() As Byte = cn.GetBytes("强")
            Dim iFromBytes As Short = System.BitConverter.ToInt16(arr, 0)
            Dim iAsc As Short = Asc("强")
            MsgBox(iFromBytes = iAsc)

    这2个值不一样的。iFromBytes=-16441, iAsc=-14401

    2015年10月30日 3:22
  • 那可能与你系统语言包有关系
    2015年11月7日 7:24