问题标签 [terminator]

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.

0 投票
2 回答
3769 浏览

java - 从具有不一致行终止符的 Java 套接字读取行

我正在使用 BufferedReader#readLine() 从 TCP/IP 套接字获取文本行。

在同一会话期间,我的服务器有时会发送以 \r\n 结尾的行,有时它会发送仅以 \n 结尾的行。

这种行为不受我控制:(

readLine() 的 Javadoc 说:

“一行被认为是由换行符 ('\n')、回车符 ('\r') 或回车符后面紧跟换行符中的任何一个终止的。”

不幸的是,这似乎不起作用(至少在 Windows 上)。它只“知道”读取以 \r\n 结尾的行。

有什么建议吗?

在此先感谢,阿德里安。

0 投票
1 回答
3895 浏览

sql-server-2008-r2 - 在 SQL Server 批量插入中,如何为字段和行终止符使用更高的 ASCII 字符

我有一个可以在 SQL Server 2000 上运行的批量插入,我试图在 SQL Server 2008 R2 上运行,但它没有像我希望的那样工作。我已经成功地将这些批量插入运行到 SQL 2000 中,如下所示:

格式文件:

数据文件:

批量插入命令:

现在我在 SQL 2008 R2 机器上运行,我收到以下错误:

如果我将我的字段终止符从 ascii 249 (ù) 更改为逗号 (,) 并将我的行终止符从 ascii 250 (ú) 更改为分号 (;),一切都会运行。但是,这不是一个真正的选择(数据中肯定会有这些字符),我宁愿不为我的分隔符选择一些任意字符串,如 !@#$%^&*() (必须编辑更多代码那样)。

我尝试了一些代码页、数据文件类型、排序规则、sql 兼容级别和格式文件版本的组合,但无济于事(并不是说我有专业知识知道所有这些将如何交互以更改此处的任何内容)。批量插入 MSDN 文档的各个部分都引用了有关大于 127 或小于 32 的 ascii 字符的特殊规则,但我不太清楚这将如何影响分隔符。

我能做些什么来尽可能少地接触代码但让它在我的新服务器上运行?

更新(解决方案)

感谢@Adam Wenger 的评论,我找到了解决方案。为了处理我的数据中包含扩展的 ASCII字符,我不再使用格式文件,而是将批量插入数据文件作为 unicode(不是 ANSI)写入文件系统(即使我的数据中确实没有 unicode 字符) . 这是我的新批量插入语句(注意“widechar”):

无论我尝试什么,我都无法获得一个格式文件来处理扩展的 ASCII 字符(超过 127 个)。我只是摆脱了格式文件,现在将其他字段分隔符放在我的数据文件中,以表示我不导入的列(我在这些列上有默认值)。

0 投票
3 回答
18731 浏览

vim - Vim + Terminator + Ubuntu 11.10 上的 Solarized 主题

我正在尝试在终结者上为 vim 设置日光化主题,但它不起作用。:-(我成功地为终结者设置了solarized,但它似乎不适用于vim。这是我的.vimrc的样子

我也尝试过上面两行未注释但仍然无法正常工作。

有人可以告诉我我做错了什么吗?

谢谢!

编辑:日晒vim

0 投票
5 回答
1369 浏览

c++ - C ++ char数组正确移动空终止符?

嗨,我的问题有点难以解释,所以我将在这里发布我的代码部分并用一个示例来解释问题。

这里的代码有一个大数组和一个小数组,其中大数组被分成小部分,存储在小数组中,小数组在屏幕上输出其内容。
之后我释放小数组的分配内存并使用大数组的下一部分再次初始化它:

现在我的问题是输出的字符串每次都有一些随机符号。例如"some_characters_here...last_char_hereRANDOM_CHARS_HERE".

在深入研究之后,我发现 splitArray 实际上的大小不是 50,而是 64,空终止符为 64。所以当我从 bigArray 复制到 splitArray 时,在真正的字符串之后仍然有 14 个随机字符和当然我不想输出它们。

一个简单的解决方案是手动将 splitArray 中的空终止符设置为 [50],但随后程序无法再次删除该数组。

有人可以帮我找到解决方案吗?最好有一些示例代码,谢谢。

0 投票
1 回答
3290 浏览

c++ - base64 编码空终止符

您好我目前正在尝试使用 C++ 中的 base64 编码方法对字符串进行编码。

字符串本身编码很好,但是我想在解码字符串的末尾有一个额外的空字符(所以空字符也​​会出现在我想将解码字符串保存到的文本文件中)。

我在这里使用这个base64代码-> http://www.adp-gmbh.ch/cpp/common/base64.html

我希望你能给我一些建议,我可以在这里做些什么来使这成为可能(我已经尝试在我正在编码的字符串的末尾写两个空字符,但似乎编码方法只读取第一次出现的空字符)。

0 投票
3 回答
1219 浏览

ruby-on-rails - 终结者找不到铁轨

我正在使用 ubuntu 12.04 LTS。我已经通过 rvm 和 rails 成功安装了 ruby​​。我还可以通过连续输入 rails -v,ruby -v 来查看终端中哪个版本的 rails 和 ruby​​。另一方面,我已经安装了终结器我的 ubuntu 和我在输入 rails -v 时遇到了错误消息:当前未安装程序“rails”。您可以通过键入以下命令进行安装: sudo apt-get install rails 当我键入 ruby​​ -v 时,没有错误消息,它会打印版本,没问题。请注意,我已经成功安装了 ruby​​ 和 rails,它可以在终端上正常工作。以下是一些情况图片:

http://imageshack.us/f/819/screenshotfrom201206281.png/

http://imageshack.us/photo/my-images/407/screenshotfrom201206281.png/

0 投票
1 回答
856 浏览

sql-server - 批量插入导入一行,然后终止

我正在编写代码以每天将数十个中等大小的文本文件导入 SQL SERVER。目前,这些已导入 FOXPRO 数据库。我正在转换为使用 SQL SERVER。我已经完成了所有的固定长度文件,但是最后三个数据文件有一个可变长度字段作为每行的最后一个字段。最后一个字段的长度可达 32,000 字节。在数据库中,我已将其声明为 VARCHAR(MAX)。

字段终止符是行终止符,它是换行符。也就是说,该行以单个“0x0a”结束,以标记字段的结尾和行的结尾,而不是两个换行符。

这是我正在使用的 SQL:

Translate_eep.xml 看起来像这样:

不幸的是,当我使用它时,它会导入一行然后终止。我怎样才能让这个东西读取整个文件?

样本数据:

0 投票
1 回答
513 浏览

vim - 在 Vim 中编辑文件名中带有单引号的文件

我在 Vim 中遇到了一个奇怪的问题。我想将一个文件从我的桌面或文件管理器拖放到 Vim 中并进行编辑。Gvim 正确地处理了这个行为。

当我尝试在控制台 Vim 中做同样的事情时,会插入文件名的路径。例如,如果我拖放文件 /home/myuser/foo.matic,它会将文本字符串 '/home/myuser/foo.matic' 应用到当前缓冲区。

如果我输入 :edit,然后拖放文件名,Vim 会将 '/home/myuser/foo.matic' 视为一个新目录。

我相信这里的问题是文件路径前后的引号。这些似乎是由 gnome-terminal 和终止符插入的。拖放时有没有办法从文件名中去除这些引号?或者,Vim 有没有办法忽略引号?

0 投票
1 回答
805 浏览

terminal - 在会话中查看更多终端(终结者)历史记录

我犯了一个愚蠢的错误,并在夜间运行 Octave 会话以向终端生成结果,目的是手动将终端输出复制并粘贴到文件中。但是,我现在发现我无法向后滚动足够远来复制所有会话输出。如何访问在终端窗口中不可观察的当前会话历史记录?一个额外的复杂性是我使用的终端是终结器,似乎没有编辑选项,所以编辑->全选->复制对我来说不可用。在我写这篇文章时,终端和 Octave 会话仍处于打开状态,我需要查看之前的历史记录,而无需退出 Octave 或关闭终端。

0 投票
3 回答
9201 浏览

javascript - 为什么任意放置在字符串中的空终止符不会终止它?

空字符或空终止符 ( \0) 用于终止连续的字符序列。我发现在 C 中,我可以将字符添加到随机位置的字符串中,并且字符串将从该点被切断。例如:

将导致s等于字符串"Hello"。然而,在 JavaScript 中,情况并非如此:

以上将无法按预期工作。s将等于字符串"HelloWorld"

为什么这不起作用?