繁体   English   中英

在JavaScript中将Unicode转换为ASCII

[英]Convert Unicode To ASCII in JavaScript

在C#中,我有ö字符148 但是当我改变像

 char convstr = (char)148;

返回 它的"”" 。其unicode。

如果要返回ASCII码, Strings.Asc("”")使用Strings.Asc("”") 返回到148。

那么如何在JavaScript中从“”变为148?

我试过那样=>

"”".charCodeAt(0)但返回8221 我认为它是Unicode。

如果您不介意,请向我解释为什么char convstr = (char)148; 还返回 我也被困在那里。

================================

148既不是ASCII中ö的值(即仅升至127的7位美国ASCII编码),也不是通常称为ASCII的代码页1252(Windows Latin 1)ISO / IEC 8859- 1 1252在该位置带有 ,而ISO代码页则没有。 该值仅在旧的 DOS代码页437和865中用于ö

Windows,.NET和C#字符串本身就是Unicode。 这些页面证明了这一点-StackOverflow是一个ASP.NET站点。 您可以通过Encoding类或通过使用StreamReader从流中加载数据时指定编码来轻松地以非Unicode编码转换数据。

例如,这将使用437代码页将字节值148转换为ö

var result=Encoding.GetEncoding(437).GetString(new byte[]{148});
Debug.Assert(result=="ö");

虽然返回

var result=Encoding.GetEncoding(1252).GetString(new byte[]{148});

StreamReader(string,Encoding)重载及其变体可以使用指定的编码从文件中加载数据,例如:

using(var reader=new StreamReader(path,Encoding.GetEncoding(437)))
{
    var line=reader.ReadLine();
    ....
}  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM