如果我接受完整的Unicode密码,我应该如何在将字符串传递给哈希函数之前对其进行规范化?
如果没有规范化,如果有人ma\u00F1ana在一台计算机上将其密码设置为"mañana"()并尝试使用ma\u006E\u0303ana另一台计算机上的"mañana"()登录,则哈希将不同,登录将失败.这受用户代理或其操作系统的控制.
Unicode规范化形式:http://unicode.org/reports/tr15/#Norm_Forms
"o?ce" == "office".passwords unicode password-storage unicode-normalization homoglyph
我的印象是JavaScript解释器假定它正在解释的源代码已经被规范化了.什么,正常化?它不能是文本编辑器,否则源的明文表示会改变.是否有一些"预处理器"可以进行规范化?
我想知道如何在C/C++中规范化字符串(包含utf-8/utf-16).在.NET中有一个函数String.Normalize.
我过去使用过UTF8-CPP,但它没有提供这样的功能. ICU和Qt提供字符串规范化,但我更喜欢轻量级解决方案.
对此有任何"轻量级"解决方案吗?
当我试图验证我的网站(http://dvartora.com/DvarTora/)时,我收到以下错误:
文本运行不在Unicode规范化表单C中
A:这是什么意思?
B:我可以用记事本++修复它吗?
C:如果B不是,我如何使用免费工具(不是Dreamweaver)解决这个问题?
我需要删除西班牙语中的重音和来自不同数据集的其他语言的重音.
我已经在这篇文章提供的代码中做了一个函数,删除了特殊的重音符号.问题是函数很慢,因为它使用了UDF.我只是想知道我是否可以提高函数的性能以在更短的时间内获得结果,因为这对小型数据帧有好处,但对大型数据帧则不行.
提前致谢.
在这里代码,您将能够按照它呈现的方式运行它:
# Importing sql types
from pyspark.sql.types import StringType, IntegerType, StructType, StructField
from pyspark.sql.functions import udf, col
import unicodedata
# Building a simple dataframe:
schema = StructType([StructField("city", StringType(), True),
StructField("country", StringType(), True),
StructField("population", IntegerType(), True)])
countries = ['Venezuela', 'US@A', 'Brazil', 'Spain']
cities = ['Maracaibó', 'New York', ' São Paulo ', '~Madrid']
population = [37800000,19795791,12341418,6489162]
# Dataframe:
df = sqlContext.createDataFrame(list(zip(cities, countries, population)), schema=schema)
df.show()
class Test():
def __init__(self, df):
self.df = df
def clearAccents(self, …Run Code Online (Sandbox Code Playgroud) python unicode-normalization apache-spark apache-spark-sql pyspark
在Unicode中,带有重音的字母可以用两种方式表示:强调字母本身,以及裸字母加上重音的组合.例如,é(+ U00E9)和e'(+ U0065 + U0301)通常以相同的方式显示.
R呈现以下内容(版本3.0.2,Mac OS 10.7.5):
> "\u00e9"
[1] "é"
> "\u0065\u0301"
[1] "é"
Run Code Online (Sandbox Code Playgroud)
但是,当然:
> "\u00e9" == "\u0065\u0301"
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
R中是否有一个将两个unicode字符转换成单字符形式的函数?在这里特别地,它会坍塌"\u0065\u0301"成"\u00e9".
这对处理大量字符串非常方便.另外,单字符表单可以很容易地转换为其他编码iconv- 至少对于通常的Latin1字符 - 并且更好地处理plot.
非常感谢提前.
我在Dreamweaver上有四个选项:C,D,KC,KD.我应该选择哪一个?为什么?
我想在JavaScript中比较两个相同的字符串,但是相等运算符==返回false.一个字符串包含一个特殊字符(例如丹麦语å).
JavaScript代码:
var filenameFromJS = "Designhåndbog.pdf";
var filenameFromServer = "Designhåndbog.pdf";
print(filenameFromJS == filenameFromServer); // This prints false why?
Run Code Online (Sandbox Code Playgroud)
解决方案 对我来说有用的是unicode规范化,正如slevithan指出的那样.
我分叉了我原来的jsfiddle使用slevithan建议的规范化lib来制作一个版本.链接:http://jsfiddle.net/GWZ8j/1/.
javascript string unicode data-transfer unicode-normalization
在HTML中呈现以下Unicode文本时,事实证明,当将数据发布回服务器时,浏览器(Google Chrome)会执行某种形式的Unicode规范化.(可能是表格C).
但是用希伯来文圣经(בְּרִיךְהוּא)文本时,这可以很容易地将文本,因为它在概述这里(第10页).
有没有办法避免浏览器自动文本规范化?
我写了一篇博文,更详细地描述了我所面临的问题:http: //blog.hibernatingrhinos.com/12449/would-it-be-possible-to-have-a-web-browser-based-编辑换了,希伯来文
在.NET中,你可以标准化(NFC,NFD,NFKC,NFKD)字符串,String.Normalize()并且有一个 Text.NormalizationForm枚举.
在.NET for Windows Store应用程序中,两者都不可用.我查看了String类System.Text和System.Globalization名称空间,但没有发现任何内容.
我错过了什么吗?如何规范化Windows应用商店应用中的字符串?
有没有人知道为什么这个Normalize方法不适用于Store Apps?
.net string unicode unicode-normalization windows-store-apps
unicode ×8
forms ×2
javascript ×2
string ×2
.net ×1
apache-spark ×1
c++ ×1
dreamweaver ×1
encoding ×1
homoglyph ×1
html5 ×1
latin ×1
notepad++ ×1
passwords ×1
pyspark ×1
python ×1
r ×1
utf-16 ×1
utf-8 ×1
validation ×1