Thread overview | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
October 14, 2014 how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Greetings. Imagine this code, char[] s = "ABCabc"; foreach (char c; s) { // how do I convert c to something an Unicode code? ie. \u9999. } thanks. |
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | On Tuesday, 14 October 2014 at 19:47:00 UTC, jicman wrote:
>
> Greetings.
>
> Imagine this code,
>
> char[] s = "ABCabc";
> foreach (char c; s)
> {
> // how do I convert c to something an Unicode code? ie. \u9999.
>
> }
I'd look at the JSON string encoder.
|
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman Attachments: | On Tue, 14 Oct 2014 19:46:57 +0000 jicman via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote: > char[] s = "ABCabc"; > foreach (char c; s) > { > // how do I convert c to something an Unicode code? ie. \u9999. > > } string res; foreach (dchar ch; s) res ~= "\\u%04X".format(ch); // here we have the result in res note "dchar" instead of "char". with "dchar" foreach() does utf-8 decoding (as 's' is in utf-8). |
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | On Tuesday, 14 October 2014 at 19:49:16 UTC, Sean Kelly wrote:
> On Tuesday, 14 October 2014 at 19:47:00 UTC, jicman wrote:
>>
>> Greetings.
>>
>> Imagine this code,
>>
>> char[] s = "ABCabc";
>> foreach (char c; s)
>> {
>> // how do I convert c to something an Unicode code? ie. \u9999.
>>
>> }
>
> I'd look at the JSON string encoder.
JSON? What does JSON has to do with my basic D? :-) No thanks. :-)
|
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | On Tuesday, 14 October 2014 at 20:03:37 UTC, jicman wrote: > On Tuesday, 14 October 2014 at 19:49:16 UTC, Sean Kelly wrote: >> On Tuesday, 14 October 2014 at 19:47:00 UTC, jicman wrote: >>> >>> Greetings. >>> >>> Imagine this code, >>> >>> char[] s = "ABCabc"; >>> foreach (char c; s) >>> { >>> // how do I convert c to something an Unicode code? ie. \u9999. >>> >>> } >> >> I'd look at the JSON string encoder. > > JSON? What does JSON has to do with my basic D? :-) No thanks. :-) Sean's saying that the JSON encoder does the same thing so you can look there for how to do it. https://github.com/D-Programming-Language/phobos/blob/master/std/json.d#L579 |
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | On Tuesday, 14 October 2014 at 20:05:07 UTC, Brad Anderson wrote:
> https://github.com/D-Programming-Language/phobos/blob/master/std/json.d#L579
Oops. Linked the the parser section. I actually don't see any unicode escape encoder in here. Perhaps he meant the upcoming JSON module.
|
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | On Tuesday, 14 October 2014 at 20:08:03 UTC, Brad Anderson wrote: > On Tuesday, 14 October 2014 at 20:05:07 UTC, Brad Anderson wrote: >> https://github.com/D-Programming-Language/phobos/blob/master/std/json.d#L579 > > Oops. Linked the the parser section. I actually don't see any unicode escape encoder in here. Perhaps he meant the upcoming JSON module. Here we go. https://github.com/s-ludwig/std_data_json/blob/4ecb90626055269f4897902404741f1173fb5e8e/source/stdx/data/json/generator.d#L451 Sönke's is pretty sophisticated. You could probably just use the non-surrogate supporting simple branch. |
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to ketmar | On Tuesday, 14 October 2014 at 19:56:29 UTC, ketmar via Digitalmars-d-learn wrote:
> On Tue, 14 Oct 2014 19:46:57 +0000
> jicman via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com>
> wrote:
>
>> char[] s = "ABCabc";
>> foreach (char c; s)
>> {
>> // how do I convert c to something an Unicode code? ie. \u9999.
>>
>> }
> string res;
> foreach (dchar ch; s) res ~= "\\u%04X".format(ch);
> // here we have the result in res
>
> note "dchar" instead of "char". with "dchar" foreach() does utf-8
> decoding (as 's' is in utf-8).
Thanks. This is a missing function in std.uni or std.string.
josé
|
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | On Tuesday, 14 October 2014 at 20:13:17 UTC, Brad Anderson wrote:
> On Tuesday, 14 October 2014 at 20:08:03 UTC, Brad Anderson wrote:
>> On Tuesday, 14 October 2014 at 20:05:07 UTC, Brad Anderson wrote:
>>> https://github.com/D-Programming-Language/phobos/blob/master/std/json.d#L579
>>
>> Oops. Linked the the parser section. I actually don't see any unicode escape encoder in here. Perhaps he meant the upcoming JSON module.
>
> Here we go.
>
> https://github.com/s-ludwig/std_data_json/blob/4ecb90626055269f4897902404741f1173fb5e8e/source/stdx/data/json/generator.d#L451
>
> Sönke's is pretty sophisticated. You could probably just use the non-surrogate supporting simple branch.
thanks. the problem is that I am still in D1. ;-) over 300K lines of code and growing...
|
October 14, 2014 Re: how to get the \uxxxx unicode code from a char | ||||
---|---|---|---|---|
| ||||
Posted in reply to jicman | On 10/14/2014 01:18 PM, jicman wrote: > Thanks. This is a missing function in std.uni or std.string. > > josé I don't know D1 but there is std.utf.decode: http://dlang.org/phobos/std_utf.html#decode Ali |
Copyright © 1999-2021 by the D Language Foundation