языковая локализация в программном коде

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: языковая локализация в программном коде

Непрочитанное сообщение Olej » 12 дек 2022, 11:14

Olej писал(а):
11 дек 2022, 01:01
Дальше Rust ...
Ну и дальше Kotlin ...
Тут пришлось повозиться с установкой свежих реализаций Kotlin и нативной компиляцией в целевую платформу... Поэтому всё детально описано в отдельной теме: Kotlin: установка и использование
И там же файлы кода...
Здесь я только повторю результаты их прогонов (самые характерные):

Код: Выделить всё

olej@R420:~/2022/Kotlin$ cat stringb.kt
fun main(args: Array<String>) {
   val x : String = args[0]
   println("строка параметров: $x - длиной ${x.length}")
   for (c in x)
      print("$c ")
   println()
   for (b in x.toByteArray())
      print("%02x ".format(b))
   println()
}

Код: Выделить всё

olej@R420:~/2022/Kotlin$ java -jar stringb.jar "latin string"
строка параметров: latin string - длиной 12
l a t i n   s t r i n g
6c 61 74 69 6e 20 73 74 72 69 6e 67

Код: Выделить всё

olej@R420:~/2022/Kotlin$ java -jar stringb.jar Здравствуйте
строка параметров: Здравствуйте - длиной 12
З д р а в с т в у й т е
d0 97 d0 b4 d1 80 d0 b0 d0 b2 d1 81 d1 82 d0 b2 d1 83 d0 b9 d1 82 d0 b5

Код: Выделить всё

olej@R420:~/2022/Kotlin$ java -jar stringb.jar 你好
строка параметров: 你好 - длиной 2
你 好
e4 bd a0 e5 a5 bd

Код: Выделить всё

olej@R420:~/2022/Kotlin$ java -jar stringb.jar السلام عليكم
строка параметров: السلام - длиной 6
ا ل س ل ا م
d8 a7 d9 84 d8 b3 d9 84 d8 a7 d9 85
Те, кто знакомы с основами кодирования UTF-8 для UNICODE представлений, увидят знакомое: для ASCII строки (латинские символы) - 1 байт на символ, для русских символов - 2 байт на символ, для иероглифической записи - 3 байт на символ … и, в принципе, для некоторых кодировок до 4 байт на символ (хотя потенциально UTF-8 позволяет и 6 байт на символ).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: языковая локализация в программном коде

Непрочитанное сообщение Olej » 12 дек 2022, 11:18

Olej писал(а):
12 дек 2022, 11:14
Здесь я только повторю результаты их прогонов (самые характерные):
И 2-й пример, для проверки того, что Kotlin допускает использование национальных алфавитов для записи непосредственно в коде имён объектов (как это было и в Go и Rust):

Код: Выделить всё

olej@R420:~/2022/Kotlin$ cat stringd2.kt
import kotlin.system.*

fun main() {
    while (true) {
        print("строка? : ")
        var ввод : String
        try { ввод = readln() }           // чтение строки из консоли
        catch (ex : RuntimeException) {   // EOF: ^D
            println("завершение работы")
            exitProcess(0)
        }
        var len = ввод.length
        if (0 == len) {                   // пустая строка
            println("завершение работы")
            exitProcess(0)
        }
        println("введена строка $ввод длиной $len")
    }
}
(переменная "ввод")

Код: Выделить всё

olej@R420:~/2022/Kotlin$ kotlinc stringd2.kt -include-runtime -d stringd2.jar

Код: Выделить всё

olej@R420:~/2022/Kotlin$ java -jar stringd2.jar
строка? : Здравствуйте
введена строка Здравствуйте длиной 12
строка? : 你好
введена строка 你好 длиной 2
строка? : السلام عليكم
введена строка السلام عليكم длиной 12
строка? : السلام
введена строка السلام длиной 6
строка? :
завершение работы

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 15 гостей