小编Sai*_*ato的帖子

从字符串中删除特定unicode范围的字符

我有一个程序正在从twitter流api实时解析推文.在存储它们之前,我将它们编码为utf8.某些字符最终出现在字符串中?,??或??? 而不是他们各自的unicode代码并导致问题.经过进一步调查,我发现有问题的字符来自"表情符号"块,U + 1F600 - U + 1F64F,以及"其他符号和象形文字"块,U + 1F300 - U + 1F5FF.我尝试删除,但是不成功,因为匹配器最终替换了字符串中的几乎每个字符,而不仅仅是我想要的unicode范围.

String utf8tweet = "";
        try {
            byte[] utf8Bytes = status.getText().getBytes("UTF-8");

            utf8tweet = new String(utf8Bytes, "UTF-8");

        } 
        catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
Pattern unicodeOutliers = Pattern.compile("[\\u1f300-\\u1f64f]", Pattern.UNICODE_CASE | Pattern.CANON_EQ | Pattern.CASE_INSENSITIVE);
Matcher unicodeOutlierMatcher = unicodeOutliers.matcher(utf8tweet);
utf8tweet = unicodeOutlierMatcher.replaceAll(" ");
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能删除这些字符?

java regex utf-8

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

使用javascript或d3.js在形状之间转换

我正在尝试编写一个程序,使用javascript在Adobe Illustrator中创建的两个形状之间切换.我可以通过将形状导出为SVG然后使用Raphael.js来实现此目的:

http://jsfiddle.net/ZLfkZ/4/

但是,两个形状之间的插值看起来很糟糕.我从研究 这个主题中学到,最好使用使用b样条曲线的算法进行插值,并在适当的位置加上或减去顶点,我假设Raphael使用的SVG标准没有.我想知道是否有可能用d3.js实现这一点,因为我注意到它的SVG文档中有插值选项,而"基础"似乎使用了b-spline.我的jsfiddle可以在d3中通过适当的插值完成吗?

或者,有没有更好的方法来解决这个问题?我可能使用SVG走错了路,因为无论如何,生成的路径都将在画布中呈现.我最初选择SVG是因为路径很容易存储为字符串.我注意到有一个Illustrator to canvas插件导出canvas命令,是否可以插入那些?我是否应该以某种方式从插画家那里捕捉形状?任何见解将不胜感激!

javascript svg canvas adobe-illustrator d3.js

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

矢量路径混合JavaScript或处理

我正在尝试编写一些类似于Adobe Illustrator混合工具的软件.目标是使用存储的路径作为不同权重的基础成分(即30%path1 70%path2)创建新路径.对于那些不熟悉的人,Adobe Illustrator示例如下所示:两个矢量路径之间的3个步骤

问题是,我真的不知道从哪里开始.理想情况下,这将能够在浏览器中运行,所以我希望在JavaScript中执行此操作.我已经研究过在html5画布中使用带有Raphael.js和标准向量的SVG,但重要的是能够以某种方式从Illustrator导入矢量艺术(手动解析SVG文件没有问题,因为它只是xml).

但是,我也考虑过在Processing中执行它,因为它的矢量支持非常突出,并且几何库看起来非常强大.

我只需要指向正确的方向,这样我就可以开始了,非常感谢!

javascript processing jquery svg vector-graphics

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