小编pat*_*rjk的帖子

JavaScript字符串 - UTF-16与UCS-2?

我在某些地方读过JavaScript字符串是UTF-16,而在其他地方它们是UCS-2.我做了一些搜索,试图弄清楚差异,发现这个:

问:UCS-2和UTF-16有什么区别?

答:UCS-2是过时的术语,在代理代码点和UTF-16被添加到标准的2.0版之前,它指的是Unicode 1.1之前的Unicode实现.现在应该避免使用这个术语.

UCS-2没有定义不同的数据格式,因为UTF-16和UCS-2在数据交换方面是相同的.两者都是16位,并且具有完全相同的代码单元表示.

有时在过去,实现被标记为"UCS-2"以指示它不支持补充字符并且不将代理代码点对解释为字符.这样的实现不会处理补充字符的字符属性,代码点边界,校对等的处理.

通过:http://www.unicode.org/faq/utf_bom.html#utf16-11

所以我的问题是,是因为JavaScript字符串对象的方法和索引作用于16位数据而不是字符,这使得有些人认为它是UCS-2?如果是这样,围绕字符而不是16位数据块的JavaScript字符串对象是否会被视为UTF-16?或者还有其他我想念的东西?

编辑:根据要求,这里有一些来源说JavaScript字符串是UCS-2:

http://blog.mozilla.com/nnethercote/2011/07/01/faster-javascript-parsing/ http://terenceyim.wordpress.com/tag/ucs2/

编辑:对于任何可能遇到此问题的人,请务必查看此链接:

http://mathiasbynens.be/notes/javascript-encoding

javascript utf-16

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

为什么"3 [1,2];" 在JavaScript中返回undefined?

我正在查看GMail所做的一些AJAX调用,我注意到有时调用的返回值以数字开头.示例:(注意第一行后没有分号)

3 
[1, 2];
Run Code Online (Sandbox Code Playgroud)

如果我将其输入到JavaScript控制台中,我将返回未定义的内容.但是,如果第二个参数是数字或字符串,我将返回第二个参数.例:

3
4
Run Code Online (Sandbox Code Playgroud)

返回4.

我的猜测是他们这样做是为了阻止jsonp类攻击,然而,是否有人知道正在进行什么基础评估?在第二种情况下,我相信在第一行之后"插入"一个分号,这将使返回4有意义.但是,我想不出第一个表达式返回undefined的原因.

javascript json jsonp

15
推荐指数
2
解决办法
415
查看次数

W3C Widgets死了吗?

有人最近指示我使用小部件的W3C规范:

http://www.w3.org/TR/widgets/

开发人员可以通过浏览器的应用程序缓存使Web应用程序脱机工作.我曾经问过用户应该如何知道他们可以离线使用某些网站,也就是这个人提出了小部件规范.将应用程序的打包与其脱机存储能力分开是有意义的.然而,在谷歌搜索并阅读小部件之后,我找不到关于这个主题的最新文章(大多数文章似乎是从2010年左右开始).最终我发现了Opera的SDK,但开头有一条消息表明他们正在删除这些功能:

从Opera 12开始,Opera Widgets将为新用户关闭,并在以后的版本中完全删除.

来源:http://dev.opera.com/articles/view/creating-your-first-opera-widget/

W3C小工具是一种死技术吗?如果是这样,是否有任何跨浏览器技术正在开发用于Web应用程序的打包?我很好奇,因为我认为离线存储很有意思,但是看不到用户如何知道,即使他们没有互联网连接,他们也可以浏览到特定的网址并让它工作,除非浏览器告诉他们他们安装了哪些应用程序(或者除非每个支持离线存储的站点都向他们解释了这些应用程序

html5 w3c web-applications application-cache web-widget

9
推荐指数
0
解决办法
2245
查看次数

@(at)符号preg_replace函数

"@"符号有时用于包围PHP正则表达式吗?我正在使用代码库并发现此函数调用:

$content = preg_replace("@(</?[^>]*>)+@", "", $content);
Run Code Online (Sandbox Code Playgroud)

我相信它会删除字符串中的所有XML标记,但我不确定那里的"@"符号是什么意思.

php regex

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

如何更改Alfresco Share上的Repository链接?

在Alfresco Share中,当您单击工具栏中的"存储库"图标时,您将被带到:

/共享/页/库

我想更改此链接以将用户带到其主文件夹,例如:

/share/page/repository#filter=path|/User%2520Homes/g/gi/gillespie/patrick.j.gillespie

我认为这将是一个简单的改变,但是,我正在试图弄清楚如何改变链接.有谁知道我编辑什么来改变这个链接?

更新:所以我可以通过share-config-custom.xml文件更新链接,更改此行:

<item type="link" id="repository">/repository</item>
Run Code Online (Sandbox Code Playgroud)

但我不知道如何获取文件夹路径信息.有没有人有任何想法?

alfresco

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

从Alfresco的alfresco-global.properties文件中访问值

假设我在alfresco-global.properties文件中创建了一个名为"test123"的自定义属性.是否有自定义对象或其他方法可以用来在Alfresco中的Java bean中访问它的值?

alfresco

5
推荐指数
2
解决办法
4728
查看次数

如何清除canvas元素中的多边形区域?

我已经使用了clearRect函数,但没有看到多边形的等价物.我天真地尝试过:

ctx.fillStyle = 'transparent';
ctx.beginPath();
ctx.moveTo(0, 0);
ctx.lineTo(100,50);
ctx.lineTo(50, 100);
ctx.lineTo(0, 90);
ctx.closePath();
ctx.fill();
Run Code Online (Sandbox Code Playgroud)

但这只是绘制了一个透明的区域,并且对已经存在的区域没有影响.有没有办法清除canvas元素内的多边形区域?

javascript html5 canvas

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

无法在MySQL中创建准备好的语句

我正在尝试在MySQL中创建一个准备好的语句,它接受一个参数.当我在命令行上尝试此操作时,我收到语法错误.但是,当我准备好的声明中没有变量时,我能够很好地创建它们.下面是我在MySQL命令提示符下看到的复制和粘贴:

mysql> PREPARE state_name FROM "select * from ? limit 1";
Run Code Online (Sandbox Code Playgroud)

错误1064(42000):您的SQL语法有错误; 检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法?在第1行限制1'

mysql> PREPARE state_name FROM "select * from documents limit 1";
Run Code Online (Sandbox Code Playgroud)
Query OK, 0 rows affected (0.00 sec)
Statement prepared

我正在使用的MySQL版本是5.0.77-log.

我没有看到语法错误吗?是否有任何配置参数我必须设置,以使准备好的语句工作?

mysql prepared-statement

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