标签: byte-order-mark

R的read.csv在第一列名称前加上垃圾文本

我已将数据从SQL Server Management Studio中的结果网格导出到csv文件.csv文件看起来正确.

但是当我使用read.csv将数据读入R数据帧时,第一列名称前缀为" ï.. ".我如何摆脱这个垃圾文本?

例:

str(trainData)

'data.frame':   64169 obs. of  20 variables:    
 $ ï..Column1             : int  3232...   
 $ Column2                : int  4242...
Run Code Online (Sandbox Code Playgroud)

数据看起来像这样(没什么特别的):

Column1,Column2
100116577,100116577
100116698,100116702

byte-order-mark r utf-8

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

Javascript文件是否应包含BOM?

我相信大多数人建议使用UTF-8作为Javascript文件的编码.

是否有关于这些文件是否包含字节顺序标记的标准,还是不包括它?(即JS文件是否应该使用/不使用UTF-8 BOM?)

我希望看到一个RFC,或者这个"事实上"的标准,而不是个人喜欢哪种意见.

javascript byte-order-mark web-standards

13
推荐指数
1
解决办法
1696
查看次数

如何在PowerShell中正确/全局地获取UTF-8(无BOM)文件?

创建一个文件utf8.txt.确保编码为UTF-8(无BOM).将其内容设置为

cmd.exe:

type utf8.txt > out.txt

内容out.txt

在PowerShell(v4)中:

cat .\utf8.txt > out.txt

要么

type .\utf8.txt > out.txt

Out.txt内容是 €

如何全局使PowerShell正常工作?

powershell byte-order-mark utf-8 powershell-4.0

13
推荐指数
1
解决办法
7073
查看次数

如何使用C#从XmlTextWriter中删除BOM?

如何从正在创建的XML文件中删除BOM?

我尝试过使用新的UTF8Encoding(false)方法,但它不起作用.这是我的代码:

XmlDocument xmlDoc = new XmlDocument();
XmlTextWriter xmlWriter = new XmlTextWriter(filename, new UTF8Encoding(false));
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-8'");
xmlWriter.WriteStartElement("items");
xmlWriter.Close();
xmlDoc.Load(filename);
XmlNode root = xmlDoc.DocumentElement;
XmlElement item = xmlDoc.CreateElement("item");
root.AppendChild(item);
XmlElement itemCategory = xmlDoc.CreateElement("category");
XmlText itemCategoryText = xmlDoc.CreateTextNode("test");
item.AppendChild(itemCategory);
itemCategory.AppendChild(itemCategoryText);
xmlDoc.Save(filename);
Run Code Online (Sandbox Code Playgroud)

c# xml xmlwriter byte-order-mark

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

包含BOM的UTF-8 HTML和CSS文件(以及如何使用Python删除BOM)

首先,一些背景:我正在使用Python开发Web应用程序.我的所有(文本)文件当前都以带有BOM的UTF-8存储.这包括我的所有HTML模板和CSS文件.这些资源作为二进制数据(BOM和所有)存储在我的数据库中.

当我从数据库中检索模板时,我使用它来解码它们template.decode('utf-8').当HTML到达浏览器时,BOM存在于HTTP响应主体的开头.这会在Chrome中产生一个非常有趣的错误:

Extra <html> encountered. Migrating attributes back to the original <html> element and ignoring the tag.

Chrome似乎会<html>在看到BOM时自动生成代码并将其误认为内容,从而使真正的<html>代码出错.

那么,使用Python,从我的UTF-8编码模板中删除BOM的最佳方法是什么(如果存在 - 我将来不能保证这一点)?

对于其他基于文本的文件,如CSS,主流浏览器是否会正确解释(或忽略)BOM?它们作为普通二进制数据发送而没有.decode('utf-8').

注意:我使用的是Python 2.5.

谢谢!

python byte-order-mark file utf-8

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

是否有可能让GCC用BOM源文件编译UTF-8?

我使用Windows上的Microsoft Visual Studio和uBuntu Linux上的GCC开发C++交叉平台.

在Visual Studio中,我可以在我的代码中使用像" π "和" ² " 这样的unicode符号.Visual Studio始终将源文件保存为带有BOM(字节顺序标记)的UTF-8.

例如:

// A = ?.r²
double ? = 3.14;
Run Code Online (Sandbox Code Playgroud)

只有在我首先删除BOM时,GCC才会愉快地编译这些文件.如果我不删除BOM,我会收到以下错误:

wwga_hydutils.cpp:28:9:错误:在程序中迷路'\ 317'

wwga_hydutils.cpp:28:9:错误:在程序中迷失'\ 200'

这让我想到了这个问题:

有没有办法让GCC编译UTF-8文件而不先删除BOM?


我正在使用:

  • Windows 7的
  • Visual Studio 2010

和:

  • uBuntu Oneiric 11.10
  • GCC 4.6.1(由apt-get install gcc提供)

编辑:

正如第一个评论者指出的那样,我的问题不是 BOM,而是在字符串常量之外使用非ascii字符.GCC不喜欢符号名称中的非ascii字符,但事实证明GCC与带有BOM的UTF-8完全兼容.

gcc byte-order-mark g++ utf-8

12
推荐指数
1
解决办法
9070
查看次数

从文件中删除多个BOM

我使用的是一个Javascript文件,它是其他JavaScript文件的串联.

不幸的是,将这些JavaScript文件连接在一起的人在读取文件时没有使用正确的编码,并允许将每个JavaScript文件的BOM写入连接的JavaScript文件.

有没有人知道搜索连接文件并删除任何/所有BOM标记的简单方法?

对Mac OSX使用PHP或bash脚本会很棒.

unicode byte-order-mark

12
推荐指数
2
解决办法
5546
查看次数

如何在Ruby中将BOM标记写入文件

我有一些带拐杖的工作代码,可以将BOM标记添加到新文件中.

  #writing
  File.open name, 'w', 0644 do |file|
    file.write "\uFEFF"
    file.write @data
  end

  #reading
  File.open name, 'r:bom|utf-8' do |file|
    file.read
  end
Run Code Online (Sandbox Code Playgroud)

有没有办法自动添加标记而不"\uFEFF"在数据之前写隐藏?喜欢的东西File.open name, 'w:bom' # this mode has no effect可能?

ruby byte-order-mark utf-8

12
推荐指数
2
解决办法
8281
查看次数

在eclipse中没有BOM编码的utf8

经过一番头疼后,我发现使用set encoding UTF8(带BOM)的eclipse会导致错误.当您使用包含导致网页标题在chrome中体内呈现时,它会导致添加空格.

即.在index.php上,在当然之前或之​​后没有间隙

<?php include_once('header.php'); ?><body>test</body>
Run Code Online (Sandbox Code Playgroud)

和header.php有(当然没有间隙)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test title</title>
</head>
Run Code Online (Sandbox Code Playgroud)

然后测试标题出现在正文中(不在视图源中,而是在chrome中的控制台中).这会在页面顶部产生间隙.

在notepad ++中打开index.php和header.php,并在没有BOM的情况下将编码更改为UTF8解决了这个问题.我怎样才能在Eclipse中解决这个问题?!切换到记事本++是不可取的,在eclipse中有太多很好的功能是有用的(更好的自动完成,自动版本控制等).

给我一个谜......

php eclipse byte-order-mark

12
推荐指数
2
解决办法
9388
查看次数

使用Python CSV模块使用BOM读取UTF-8会导致不必要的额外字符

我试图用Python读取一个CSV文件,代码如下:

with open("example.txt") as f:
   c = csv.reader(f)
   for row in c:
      print row
Run Code Online (Sandbox Code Playgroud)

example.txt只有以下内容:

Hello world!

对于UTF-8或ANSI编码文件,这给了我预期的输出:

> ["Hello world!"]
Run Code Online (Sandbox Code Playgroud)

但是,如果我将文件保存为带有BOM的UTF-8,我会得到以下输出:

> ["\xef\xbb\xbfHello world!"]
Run Code Online (Sandbox Code Playgroud)

由于我无法控制用户将用作输入的文件,因此我希望这也适用于BOM.我该如何解决这个问题?有什么我需要做的,以确保这也适用于其他编码?

python csv byte-order-mark character-encoding python-2.7

12
推荐指数
1
解决办法
7634
查看次数