相关疑难解决方法(0)

118
推荐指数
2
解决办法
11万
查看次数

UTF-8可以编码多少个字符?

如果UTF-8是8位,这是否意味着最多只能有256个不同的字符?

前128个代码点与ASCII相同.但它说UTF-8可以支持多达百万个字符?

这是如何运作的?

ascii utf-8 character-encoding

84
推荐指数
7
解决办法
7万
查看次数

将ISO-8859-1/Latin-1转换为字符串(UTF-8)有哪些选择?

我扫描了Rust文档,以便在字符编码之间进行转换,但没有找到任何内容.我错过了什么?

是否由Rust语言及其标准库支持(直接或间接),甚至计划在不久的将来?

由于其中一个答案表明有一个简单的解决方案,因为u8可以转换为(Unicode)chars.Unicode是ISO-8859-1中代码点的超集,即1:1映射,它编码为UTF-8中的多个字节,这是StringRust 中s 的内部编码.

fn main() {
    println!("{}", 196u8 as char);
    println!("{}", (196u8 as char) as u8);
    println!("{}", 'Ä' as u8);
    println!("{:?}", 'Ä'.to_string().as_bytes());
    println!("{:?}", "Ä".as_bytes());
    println!("{}",'Ä' == 196u8 as char);
}
Run Code Online (Sandbox Code Playgroud)

得到:

Ä
196
196
[195, 132]
[195, 132]
true
Run Code Online (Sandbox Code Playgroud)

哪个我甚至没有考虑过工作!

iso-8859-1 character-encoding rust

6
推荐指数
2
解决办法
2361
查看次数

PHP函数mb_detect_encoding严格模式

在函数mb_detect_encoding中有一个严格模式的参数.

在第一个,最受欢迎的评论中:

<?php
$str = 'áéóú'; // ISO-8859-1
mb_detect_encoding($str, 'UTF-8'); // 'UTF-8'
mb_detect_encoding($str, 'UTF-8', true); // false
Run Code Online (Sandbox Code Playgroud)

这是真的,是的.但有人可以给我一个解释,为什么呢?

php character-encoding

6
推荐指数
1
解决办法
1838
查看次数

python:UnicodeDecodeError:'utf8'编解码器无法解码位置0的字节0xc0:无效的起始字节

我正在尝试编写一个脚本,通过创建随机的utf-8编码字符串然后将其解码为unicode来生成随机unicode.它适用于单个字节,但有两个字节就失败了.

例如,如果我在python shell中运行以下命令:

>>> a = str()

>>> a += chr(0xc0) + chr(0xaf)

>>> print a.decode('utf-8')

UnicodeDecodeError: 'utf8' codec can't decode byte 0xc0 in position 0: invalid start byte
Run Code Online (Sandbox Code Playgroud)

根据utf-8方案https://en.wikipedia.org/wiki/UTF-8#Description,字节序列0xc0 0xaf应该以0xc0开头1100xaf开头有效10.


这是我的python脚本:

def unicode(self):
    '''returns a random (astral) utf encoded byte string'''
    num_bytes = random.randint(1,4)
    if num_bytes == 1:
        return self.gen_utf8(num_bytes, 0x00, 0x7F)
    elif num_bytes == 2:
        return self.gen_utf8(num_bytes, 0xC0, 0xDF)
    elif num_bytes == 3:
        return self.gen_utf8(num_bytes, 0xE0, …
Run Code Online (Sandbox Code Playgroud)

python unicode encoding utf-8

5
推荐指数
1
解决办法
1万
查看次数

JQuery .html 方法字符编码

我有一个类似的问题: jQuery AJAX 字符编码,但其中提到的任何解决方案都适合我。

\n\n

我制作了三个简单的文件来显示问题:

\n\n

PHP 文件:

\n\n
//prueba.php\necho "n\xc2\xba one two \xe2\x82\xac \xc3\xa1\xc3\xa9\xc3\xad\xc3\xb3\xc3\xba";\n
Run Code Online (Sandbox Code Playgroud)\n\n

JavaScript 文件(我使用 JQuery)

\n\n
//Javascript file\n    function prueba() {\n        $.ajax({\n            type: "GET",\n            contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1",\n            url: "prueba.php",\n        }).done(function( data ) {\n            $("#prueba").text(data); \n            //$("#prueba").html(data); //It does the same encoding error \n        });\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

** HTML 文件:**

\n\n
<html>\n    <head>\n        <title>E-COMMERCE</title>\n        <meta content="text/html; charset=iso-8859-1" http-equiv=Content-Type>\n        <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n\n        <script src="javascript/jquery.js" type="text/javascript"></script>\n        <script src="javascript/javascript.js" type="text/javascript"></script>\n    </head>\n\n    <body>\n        <a href="javascript:prueba()">Prueba</a>\n        <div id="prueba"></div>\n    </body>\n\n</html>\n
Run Code Online (Sandbox Code Playgroud)\n\n …

javascript ajax jquery encoding

4
推荐指数
1
解决办法
1万
查看次数

EntityUtils.toString(response) 究竟返回什么?

我做我的REST API,我看到了很多的例子人用EntityUtils.toString(response)得到他们response进入String他们的GETPOSTPUTDELETE方法。与此类似:

HttpGet method = new HttpGet(url);
method.setHeader("content-type", "application/json");
HttpResponse response = httpClient.execute(method);
String responseString = EntityUtils.toString(response.getEntity());
Run Code Online (Sandbox Code Playgroud)

请避免对我说它给我一个字符串的答案

我知道它返回给我一个String实体的内容(在这种情况下是响应),但这是我怀疑的地方,因为我对String返回的内容不放心。我在官方文档中看到了。

读取实体的内容并将其作为字符串返回。

https://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/util/EntityUtils.html#toString(org.apache.http.HttpEntity,java.lang.String)

它是content-type什么在返回String

相反,我通过我的方法获得的值是在String?

我认为这是第二个问题,但我对此并不安全。而且,在这种情况下,这些值如何存储到String? 它们是由逗号或某些特殊字符分隔的吗?

提前致谢!

apache rest android entity

4
推荐指数
1
解决办法
1万
查看次数

Python 3.6,utf-8 到 unicode 的转换,带双反斜杠的字符串

有很多关于 utf-8 > unicode 转换的问题,但我仍然没有找到我的问题的答案。

让我们有这样的字符串:

a = "Je-li pro za\\xc5\\x99azov\\xc3\\xa1n\\xc3\\xad"
Run Code Online (Sandbox Code Playgroud)

Python 3.6 理解这个字符串就像Je-li pro za\xc5\x99azov\xc3\xa1n\xc3\xad。我需要将此类似 utf-8 的字符串转换为 unicode 表示形式。最终的结果应该是Je-li pro za?azování

随着a.decode("utf-8")我得到AttributeError: 'str' object has no attribute 'decode',因为 Python 意味着该对象已经被解码。

如果我先用 将它转换为字节bytes(a, "utf-8"),反斜杠只会加倍并再次.decode("utf-8")将其返回到我当前的状态a

如何获得unicode字符串济利亲咱?azování从这个a

unicode utf-8 python-3.x python-unicode

2
推荐指数
1
解决办法
5114
查看次数

使用 UTF-8 正确编码 - java

我在将以下字符串正确写入文件时遇到问题。尤其是“——”这个字。问题出现在我的本地机器 (Windows 7) 和服务器 (Linux) 上

字符串:“Cœurs d'artichauts Grillées”

  1. 是否工作(– 正确显示,而撇号被翻译成问号):

    Files.write(path, content.getBytes(StandardCharsets.ISO_8859_1));
    
    Run Code Online (Sandbox Code Playgroud)
  2. 不起作用(导致文件):

    Files.write(path, content.getBytes(StandardCharsets.UTF_8));
    
    Run Code Online (Sandbox Code Playgroud)

根据这个问题的第一个答案,UTF-8 应该也能正确编码 – 。有谁知道我做错了什么?

java encoding utf-8 iso-8859-1 character-encoding

0
推荐指数
1
解决办法
712
查看次数