标签: utf-8

示例无效的utf8字符串?

我正在测试我的一些代码如何处理坏数据,我需要一些无效的UTF-8字节序列.

你可以发布一些,理想情况下,解释为什么它们是坏的/你得到它们的地方?

unit-testing utf-8

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

使用Python读取UTF8 CSV文件

我正在尝试使用Python(只有法语和/或西班牙语字符)读取带有重音字符的CSV文件.基于csvreader的Python 2.5文档(http://docs.python.org/library/csv.html),我提出了以下代码来读取CSV文件,因为csvreader仅支持ASCII.

def unicode_csv_reader(unicode_csv_data, dialect=csv.excel, **kwargs):
    # csv.py doesn't do Unicode; encode temporarily as UTF-8:
    csv_reader = csv.reader(utf_8_encoder(unicode_csv_data),
                            dialect=dialect, **kwargs)
    for row in csv_reader:
        # decode UTF-8 back to Unicode, cell by cell:
        yield [unicode(cell, 'utf-8') for cell in row]

def utf_8_encoder(unicode_csv_data):
    for line in unicode_csv_data:
        yield line.encode('utf-8')

filename = 'output.csv'
reader = unicode_csv_reader(open(filename))
try:
    products = []
    for field1, field2, field3 in reader:
        ...
Run Code Online (Sandbox Code Playgroud)

以下是我试图阅读的CSV文件的摘录:

0665000FS10120684,SD1200IS,Appareil photo numérique PowerShot de 10 Mpx de Canon avec trépied (SD1200IS) …
Run Code Online (Sandbox Code Playgroud)

python csv utf-8 character-encoding

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

使用BOM搜索UTF-8文件的优雅方式?

出于调试目的,我需要以递归方式在目录中搜索以UTF-8字节顺序标记(BOM)开头的所有文件.我目前的解决方案是一个简单的shell脚本:

find -type f |
while read file
do
    if [ "`head -c 3 -- "$file"`" == $'\xef\xbb\xbf' ]
    then
        echo "found BOM in: $file"
    fi
done
Run Code Online (Sandbox Code Playgroud)

或者,如果您喜欢简短,不可读的单行:

find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
Run Code Online (Sandbox Code Playgroud)

它不适用于包含换行符的文件名,但无论如何都不会出现这样的文件.

是否有更短或更优雅的解决方案?

文本编辑器是否有任何有趣的文本编辑器或宏?

php shell text-editor utf-8

89
推荐指数
6
解决办法
6万
查看次数

如何将"\ u00ed"等Unicode转义序列解码为正确的UTF-8编码字符?

PHP中是否有一个函数可以解码像" \u00ed"到" í" 这样的Unicode转义序列以及所有其他类似的事件?

我在这里发现了类似的问题,但似乎没有用.

php unicode escaping utf-8 decoding

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

使用Sublime Text 3中的BOM将文件编码设置为UTF8

当我在Sublime Text 3中打开文件时,在底部我可以选择设置字符编码,如屏幕截图所示.

设置编码

可以选择将其设置为UTF-8,在进行一些研究后意味着没有BOM的UTF-8,但我想将其设置为UTF-8使用BOM如下所示:

带BOM的UTF-8

我怎样才能从ST3中做到这一点?

encoding utf-8 sublimetext2 sublimetext3

87
推荐指数
2
解决办法
17万
查看次数

<0xEF,0xBB,0xBF>字符显示在文件中.如何删除它们?

我正在压缩JavaScript文件,压缩器抱怨我的文件中有字符.

如何搜索这些字符并将其删除?

unicode file utf-8 utf

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

Java相当于生成相同输出的JavaScript的encodeURIComponent?

我一直在试验各种Java代码试图想出一些东西,它将编码一个包含引号,空格和"奇异"Unicode字符的字符串,并产生与JavaScript的encodeURIComponent函数相同的输出.

我的折磨测试字符串是:"A"B±"

如果我在Firebug中输入以下JavaScript语句:

encodeURIComponent('"A" B ± "');
Run Code Online (Sandbox Code Playgroud)

- 然后我得到:

"%22A%22%20B%20%C2%B1%20%22"
Run Code Online (Sandbox Code Playgroud)

这是我的小测试Java程序:

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class EncodingTest
{
  public static void main(String[] args) throws UnsupportedEncodingException
  {
    String s = "\"A\" B ± \"";
    System.out.println("URLEncoder.encode returns "
      + URLEncoder.encode(s, "UTF-8"));

    System.out.println("getBytes returns "
      + new String(s.getBytes("UTF-8"), "ISO-8859-1"));
  }
}
Run Code Online (Sandbox Code Playgroud)

- 该计划输出:

URLEncoder.encode returns %22A%22+B+%C2%B1+%22
getBytes returns "A" B ± "

关闭,但没有雪茄!使用Java编码UTF-8字符串的最佳方法是什么,以便它产生与JavaScript相同的输出encodeURIComponent

编辑:我很快就使用Java 1.4迁移到Java 5.

javascript java unicode utf-8

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

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

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

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

这是如何运作的?

ascii utf-8 character-encoding

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

使用Javascript的atob解码base64不能正确解码utf-8字符串

我正在使用Javascript window.atob()函数来解码base64编码的字符串(特别是GitHub API中的base64编码内容).问题是我得到了ASCII编码的字符(â¢而不是).如何正确处理传入的base64编码流,以便将其解码为utf-8?

javascript encoding utf-8

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

真的很好,坏的UTF-8示例测试数据

所以我们有XSS备忘单来测试我们的XSS过滤 - 但除了示例良性页面之外,我找不到任何恶意或格式错误的测试数据,以确保我的UTF-8代码可以处理行为不端的数据.

我在哪里可以找到一些好的呃......糟糕的数据来测试?或者什么是一个棘手的字符序列?

unicode utf-8

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