{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:22:41Z","timestamp":1750220561723,"version":"3.41.0"},"reference-count":5,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2021,6,30]],"date-time":"2021-06-30T00:00:00Z","timestamp":1625011200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Queue"],"published-print":{"date-parts":[[2021,6,30]]},"abstract":"<jats:p>In many languages a string comparison is a pitfall for beginners. With any Unicode string as input, a comparison often causes problems even for advanced users. The semantic equivalence of different characters in Unicode requires a normalization of the strings before comparing them. This article shows how to handle Unicode sequences correctly. The comparison of two strings for equality often raises questions concerning the difference between comparison by value, comparison of object references, strict equality, and loose equality. The most important aspect is semantic equivalence.<\/jats:p>","DOI":"10.1145\/3475965.3478522","type":"journal-article","created":{"date-parts":[[2021,7,30]],"date-time":"2021-07-30T04:05:02Z","timestamp":1627617902000},"page":"107-116","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Real-world String Comparison"],"prefix":"10.1145","volume":"19","author":[{"given":"Torsten","family":"Ullrich","sequence":"first","affiliation":[{"name":"Fraunhofer Austria"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,7,29]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Big List of Naughty Strings. GitHub; https:\/\/github.com\/minimaxir\/big-list-of-naughty-strings\/blob\/master\/blns.txt."},{"volume-title":"Java SE 16 Edition. Oracle America","author":"Gosling J.","key":"e_1_2_1_2_1","unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G., Buckley, A., Smith, D., Bierman, G. 2021. The Java Language Specification, Java SE 16 Edition. Oracle America, Inc.; https:\/\/docs.oracle.com\/javase\/specs\/jls\/se16\/jls16.pdf."},{"key":"e_1_2_1_3_1","unstructured":"Unicode Consortium. 2018. The Unicode Standard Version 11.0 Core Specification; http:\/\/www.unicode.org\/versions\/components-11.0.0.html."},{"key":"e_1_2_1_4_1","unstructured":"Unicode Consortium. 2020. Unicode Standard Annex #15 Unicode Normalization Forms; https:\/\/www.unicode.org\/reports\/tr15\/tr15-50.html."},{"key":"e_1_2_1_5_1","unstructured":"Unicode Consortium. 2020 Unicode Technical Standard #39 Unicode Security Mechanisms; https:\/\/www.unicode.org\/reports\/tr39\/tr39-22.html."}],"container-title":["Queue"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3475965.3478522","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3475965.3478522","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:28:33Z","timestamp":1750195713000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3475965.3478522"}},"subtitle":["How to handle Unicode sequences correctly"],"short-title":[],"issued":{"date-parts":[[2021,6,30]]},"references-count":5,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2021,6,30]]}},"alternative-id":["10.1145\/3475965.3478522"],"URL":"https:\/\/doi.org\/10.1145\/3475965.3478522","relation":{},"ISSN":["1542-7730","1542-7749"],"issn-type":[{"type":"print","value":"1542-7730"},{"type":"electronic","value":"1542-7749"}],"subject":[],"published":{"date-parts":[[2021,6,30]]},"assertion":[{"value":"2021-07-29","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}