小编Mau*_*lin的帖子

我如何猜测Perl中字符串的编码?

我有一个Unicode字符串,不知道它的编码是什么.当Perl程序读取此字符串时,是否存在Perl将使用的默认编码?如果是这样,我怎么知道它是什么?

我试图从输入中删除非ASCII字符.我在一些论坛上发现了这个:

my $line = encode('ascii', normalize('KD', $myutf), sub {$_[0] = ''});
Run Code Online (Sandbox Code Playgroud)

如果没有指定输入编码,上面的工作如何?是否应该如下指定?

my $line = encode('ascii', normalize('KD', decode($myutf, 'input-encoding'), sub {$_[0] = ''});
Run Code Online (Sandbox Code Playgroud)

string unicode perl

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

写入文件后,为什么os.path.getsize仍然返回以前的大小?

我试图将一个大的xml文件拆分成更小的块.我写入输出文件然后检查它的大小,看它是否通过了一个阈值,但我不认为getsize()方法按预期工作.

什么是获取大小变化的文件的文件大小的好方法.

我做过这样的事......

import string
import os

f1 = open('VSERVICE.xml', 'r')
f2 = open('split.xml', 'w')

for line in f1:
  if str(line) == '</Service>\n':
    break
  else:
    f2.write(line)
    size = os.path.getsize('split.xml')
    print('size = ' + str(size))
Run Code Online (Sandbox Code Playgroud)

运行此命令将打印0作为文件大小进行约80次迭代,然后打印4176.在实际输出之前,Python是否将输出存储在缓冲区中?

python filesize

13
推荐指数
3
解决办法
3万
查看次数

同时使用onTouch和onCreateContextMenu

我希望捕获用户触摸事件的坐标(为此我实现了该onTouch方法),但我还想在用户触摸屏幕时显示上下文菜单.

当使用onTouchonCreateContextMenu方法时,每个触摸事件都被发送到该onTouch方法.onCreateContextMenu永远不会调用该方法.我想这是预料之中的.然后我试图通过调用手动显示上下文菜单openContextMenu(v)onTouch方法,此方法有效,但菜单不从屏幕上消失后onContextItemSelected(MenuItem item)调用.那我怎么能做这个呢?

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.record_match);
    myCourtView = new MyImageView(getApplicationContext());
    ll = (LinearLayout)findViewById(R.id.linearLayout);
    ll.addView(myCourtView, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    registerForContextMenu(myCourtView);
    myCourtView.requestFocus();
    myCourtView.setOnTouchListener(this);

}// End OnCreate


    // Implement the OnClickListener callback
   public boolean onTouch(View v, MotionEvent event) {
      //do something when user interacts with the court view
      myCourtView.processEvent(event);
      openContextMenu(v);
      myCourtView.invalidate();
      return true;
    }//End OnClickListener

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo …
Run Code Online (Sandbox Code Playgroud)

android

11
推荐指数
1
解决办法
1773
查看次数

在适当的位置更改python文件

我有一个大的xml文件(40 Gb),我需要分成更小的块.我正在使用有限的空间,所以当我将它们写入新文件时,有没有办法从原始文件中删除行?

谢谢!

python file

8
推荐指数
1
解决办法
1726
查看次数

删除Ruby中索引位置的字符

基本上问题是什么.如何删除字符串中给定索引位置的字符?String类似乎没有任何方法可以执行此操作.

如果我有一个字符串"HELLO"我希望输出是这样的

["ELLO", "HLLO", "HELO", "HELO", "HELL"]
Run Code Online (Sandbox Code Playgroud)

我这样做

d = Array.new(c.length){|i| c.slice(0, i)+c.slice(i+1, c.length)}
Run Code Online (Sandbox Code Playgroud)

我不知道是否使用切片!会在这里工作,因为它会修改原始字符串,对吗?

ruby

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

Ruby:计算二进制数中的1的数量

我有一个二进制数(52位)表示为字符串"01100011 ...."

计算1的数量最快的方法是什么?

"01100011....".count("1") 
Run Code Online (Sandbox Code Playgroud)

显然有效但如果这个操作需要进行数千次,则非常耗时.

好的,还有一些信息.我正在尝试为单词创建位向量,如下所示

def bit_vec(str)
    alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    bv = ""
    alphabet.each_char do |a|
        if str.include?(a)
            bv += "1"
        else
            bv += "0"
        end
    end
        bv
end
Run Code Online (Sandbox Code Playgroud)

bit_vec方法被调用大约170K次.我将位向量存储在散列中,并使用它们通过对位向量进行异或并计算1的数量(更多1 = =更少的相似性)来查找给定单词的相似单词.如果count方法不使用String#scan,还有什么可以使用它?

我知道Ruby比C或Java慢.我只是想尽力改进算法.我不是在寻找原始速度.

也许包括?方法是瓶颈?

ruby optimization

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

Ruby会自动检测文件的代码页吗?

如果保存带有以下字符的文本文件,则将其? U+0431另存为ANSI代码页文件.

Ruby返回ord = 63.当代码页返回时,使用UTF-8保存文件ord = 208, 177

我应该特别告诉Ruby处理用某个代码页编码的输入吗?如果是这样,你怎么做?

ruby unicode codepages

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

标签 统计

ruby ×3

python ×2

unicode ×2

android ×1

codepages ×1

file ×1

filesize ×1

optimization ×1

perl ×1

string ×1