问题标签 [character-encoding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 使用 .Net Streamreader 读取 HTM 文件的可能编码问题
我有一个 HTML 文件,其文本中带有 ®(版权)和 ™(商标)符号。这些只是许多其他符号中的两个。当我将 html 文件读入文字控件时,它会将符号转换为其他内容。
版权符号转换为�(在ff中打开框)商标符号转换为™(如预期的那样)
Contents 是一个<asp:Literal runat="server" ID="Contents"></asp:Literal>
,它是 aspx 页面中唯一的控件。
根据一些研究,我认为这与编码有关,但我不知道为什么它会改变如何修复它。
html 文件的 head 部分不包含任何 Content-Type 设置。
asp.net - 使用编码字符代替正确的字符
我有一个小问题,我希望你能帮我解决这个烦人的问题。
我需要在管理面板中使用 iFrame 来让用户使用选择服务,在 HTML 中我有:
在我的代码隐藏文件中,我有:
输出是这样的:
请注意在传递用户名和密码时&
改为登录 src 地址&
我怎样才能防止这种情况?
我尝试使用 HttpUtility.Decode(myCompleteUrl) 但取得了相同的成就:(
最糟糕的是,如果 src 代码只有地址
我无法输入用户/密码,我看到表单并且可以输入文本,但它什么也没做,它只刷新 iframe 内页,在一个完整的窗口中执行此操作,工作正常。
在该管理面板中,我有一个文本框给用户添加用户名和密码,以便进入管理页面,我将直接跳转到 iFrame 中的服务,因此用户无需每次都输入用户/密码登录,这就是我试图动态添加这些值的方式。
有任何想法吗?
补充: 如果我将正确的 URL 地址(带有用户和密码)放在 HTML 端的 iFrame src 属性中(不是动态的),一切正常:(
python - 编码/解码有什么区别?
我一直不确定我是否理解 str/unicode 解码和编码之间的区别。
我知道这str().decode()
是因为当你有一个你知道具有某种字符编码的字节字符串时,考虑到该编码名称,它将返回一个 unicode 字符串。
我知道unicode().encode()
根据给定的编码名称将 unicode 字符转换为字节串。
但我不明白什么str().encode()
和unicode().decode()
是为了什么。任何人都可以解释,并可能纠正我在上面弄错的任何其他内容吗?
编辑:
几个答案提供了.encode
关于字符串的作用的信息,但似乎没有人知道.decode
unicode 的作用。
c - char 被签名是什么意思?
鉴于有符号和无符号整数使用相同的寄存器等,并且只是以不同的方式解释位模式,而 C 字符基本上只是 8 位整数,那么 C 中的有符号和无符号字符有什么区别?我知道 char 的符号是实现定义的,我根本无法理解它如何产生影响,至少当 char 用于保存字符串而不是进行数学运算时。
c++ - 编译 c++ dll 时选择哪个字符集
有人可以提供一些有关 Visual Studio 项目属性表中不同字符集的信息。
选项有:
无
Unicode
多字节
我想就选择哪个做出明智的决定。
谢谢。
sql-server - 将列从 varchar 转换为 nvarchar 是否会更改存储在列中的字符串的编码?
如果我有一个仅包含 varchar 列的数据库,字符串以 Latin-1 编码(并相应地设置了排序规则),将使用 ALTER TABLE 命令将列转换为 nvarchar 将列内容的编码更改为 unicode (UTF-16),或者我必须自己转换它们吗?
character-encoding - 摩尔达瓦的可用字符集
有谁知道摩尔达瓦使用的是哪个字符集。我们为摩尔达瓦准备我们的软件(和数据库)。我想 UTF-8 应该可以工作,不是吗?
c# - 如何在不手动指定编码的情况下获得 C# 中字符串的一致字节表示?
如何在不手动指定特定编码的情况下将 a 转换为 .NET (C#) 中的 a string
?byte[]
我要加密字符串。我可以在不转换的情况下对其进行加密,但我仍然想知道为什么编码会在这里发挥作用。
另外,为什么还要考虑编码?我不能简单地获取字符串存储在哪些字节中吗?为什么依赖于字符编码?
hash - 散列中“字符”和“八位字节”之间的区别
我看到“八位字节”这个词出现在关于散列随机数的文献中,它似乎是“字符”的同义词,尽管这些词的使用方式有一种模式。
这使我相信两者之间存在形式上的区别。如果有人能告诉我它是什么,我将不胜感激。
(请不要讲八进制字符代码或八进制(以 8 为基数)数字;我说的是名词'octet',而不是形容词)
编辑:事实证明,我正在寻找的词是“八位字节”。
c++ - Windows 代码页与标准 C/C++ 文件名的交互?
一位客户抱怨我们的代码用于编写文件名中包含日文字符的文件,但不再适用于所有情况。我们一直只是使用良好的旧 char * 字符串来表示文件名,所以它曾经工作过让我有点震惊,而且我们没有做任何我知道应该让它停止工作的事情。我让他们向我发送了一个从我们的软件导出的带有嵌入文件名的文件,看起来这些字符串使用十六进制字符 82 和 83 作为双字节序列的第一个字符来表示日文字符。在网上闲逛让我相信这可能是 SHIFT_JIS 和/或 Windows 代码页 932。
在我看来,以前发生的事情是 fopen 和 ofstream::open 使用此代码页接受的文件名;现在只有 fopen 可以。我已经检查了 Visual Studio fopen 文档,但我没有看到任何提示可以将可接受的字符串传递给 fopen。
在短期内,我希望有人能为我阐明特定的 Windows fopen 与 ofstream::open 问题。从长远来看,我真的很想知道在 C++、Windows、Linux 和 OS X 上打开 Unicode(和其他?)文件名的公认方式。
编辑添加:我相信工作的打开是在“C”语言环境中完成的,而那些不工作的打开是在客户的默认语言环境中完成的。但是,这种情况已经存在多年了,旧版本的程序今天仍然可以在他们的系统上运行,所以这似乎无法解释我们所看到的问题。
更新:我向客户发送了一个小型测试程序。它已经验证 fopen 可以与 SHIFT_JIS 文件名一起正常工作,而 std::ofstream 不能。这是在 Visual Studio 2005 中,无论我使用的是默认语言环境还是“C”语言环境,都会发生这种情况。
如果有人对这种行为有解释(以及为什么它神秘地改变了——也许是 VS2005 的服务包?),我仍然很感兴趣,并希望将一个全面的“最佳实践”放在一起处理可移植 C++ 代码中的 Unicode 文件名。