ICU: Which compare API to use?

2016-04-14T18:12:09

I read the documentation on the different compare APIs that ICU provides, but couldn't quite get the difference between them.

int8_t icu::UnicodeString::compare  (const UnicodeString &text  )   const

int8_t icu::UnicodeString::caseCompare  (
        int32_t start, 
        int32_t     length, 
        const UChar * srcChars, 
        int32_t     srcStart, 
        int32_t     srcLength, 
        uint32_t    options 
    )       

virtual EComparisonResult icu::Collator::compare(   
       const UnicodeString &source, 
        const UnicodeString &target 
    )   

To be able to do case insensitive operations on UTF16 strings, which API fits the bill and why?

Thanks!

Copyright License:
Author:「Maddy」,Reproduced under the CC 4.0 BY-SA copyright license with link to original source & disclaimer.
Link to:https://stackoverflow.com/questions/36620022/icu-which-compare-api-to-use

About “ICU: Which compare API to use?” questions

I read the documentation on the different compare APIs that ICU provides, but couldn't quite get the difference between them. int8_t icu::UnicodeString::compare (const UnicodeString &text )
I am writing KMP sub-string searching alg on unicode strings in C using UCharIterators, the problem I am facing is that I need to compare values by iterator and comparison should be normalized, whi...
I have a byte[] array and I have to convert it to "Unicode, UnicodeWithBOM e.t.c" I tried ICU library but unable to find any solution. is there any functions available in ICU for java to
I am working on a rudimentary hand-coded lexical scanner and wish to support UTF-8 input (it's not 1970 anymore!). Input characters are read from stdin or a file one at a time and pushed into a buf...
Is there a vay to get ICU version in PHP? With phpversion() I only managed to get the intl version, but I need to compare the ICU version to workaround some servers that have an older ICU version.
I would like to use ICU's C++ API, specifically the UnicodeString class, in a macOS app. I see that I can include headers for the C API from Xcode, but I don't see headers for the C++ API. % PLAT=/
I am trying to install ICU Analysis plugin manually in Elasticsearch 1.4.0. I have downloaded elasticsearch-analysis-icu-2.4.1.jar, lucene-analyzers-icu-4.10.2.jar and icu4j-54.1.1.jar. The plugin
I'm looking into using ICU for Unicode string processing in a native Node.js module because it seems to me that v8::String (according to these docs) doesn't have a C++ API for this purpose. To my
As a new Calendar class was introduced in API 24 in package android.icu.util with more calendars and better localization. I'm wondering if there is a way to use this Calendar for Android API >=24, ...
I would like to use the CalendarAstronomer class from ICU to calculate the sunset/sunrise values for a given location. The API is good and clean, but the necessary file astro.h is not installed.

Copyright License:Reproduced under the CC 4.0 BY-SA copyright license with link to original source & disclaimer.