الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/toByteArray»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.toByteArray()‎ في لغة Kotlin}}</noinclude> تحلّل الدالة <code>toByteArray()</code>‎ Kotlin/String|ال...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع text.toByteArray()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع text.toByteArray()‎ في لغة Kotlin}}</noinclude>
تحلّل الدالة <code>toByteArray()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
تعيد الدالة <code>toByteArray()</code>‎ مصفوفة من النوع <code>[[Kotlin/ByteArray/index|ByteArray]]</code> تحتوي أكواد حروف [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وفق الترميز المُمرّر <code>charset،</code> القيمة الابتدائية للوسيط <code>charset</code> هي <code>UTF_8</code>.


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
inline actual fun String.toByte(): Byte
inline fun String.toByteArray(
 
    charset: Charset = Charsets.UTF_8
</syntaxhighlight>تحلّل الدالة <code>toByte()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Byte</code>  وتعيد الناتج.
): ByteArray
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: JVM'''
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>.<syntaxhighlight lang="kotlin">
inline actual fun String.toByte(radix: Int): Byte
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.1'''
 
تحلّل الدالة <code>toByte()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Byte</code> وتعيد الناتج.
 
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>. أما في حال كان الوسيط المُمرّر <code>radix</code> غير صالح للتحويل من  [[Kotlin/String|سلسلة نصية]] إلى عدد  فستطلق استثناءً <code>IllegalArgumentException</code>.


يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
== القيم المعادة ==
== القيم المعادة ==
عدد من النوع <code>Byte</code>.
مصفوفة من النوع <code>[[Kotlin/ByteArray/index|ByteArray]]</code>.


== أمثلة ==
== أمثلة ==
=== استخدام الدالة <code>toByteArray()‎</code> مع سلسلة نصية ===
=== استخدام الدالة <code>toByteArray()‎</code> مع السلاسل النصية ===
الشيفرة الآتية <nowiki/>تستدعي الدالة <code>toByteArray()‎</code> عبر عدة  [[Kotlin/String|سلاسل نصية]]، وتطبع الناتج:<syntaxhighlight lang="kotlin">
الشيفرة الآتية <nowiki/>تستدعي الدالة <code>toByteArray()‎</code> عبر عدة  [[Kotlin/String|سلاسل نصية]]، وتطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
        println("43".toByte()) // 43
println("wiki.hsoub.com".toByteArray().toList()) // [119, 105, 107, 105, 46, 104, 115, 111, 117, 98, 46, 99, 111, 109]
        println("32".toByte()) // 32
println("3.14".toByteArray().toList()) // [51, 46, 49, 52]
        println("032".toByte()) // 32
println("Aa".toByteArray(Charsets.UTF_16).toList()) // [-2, -1, 0, 65, 0, 97]
 
}
}
</syntaxhighlight>
</syntaxhighlight>
=== استخدام الدالة <code>toByte()‎</code> مع سلسلة نصية: الحالة الثانية ===
تُعرّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code> ثم تستدعي الدالة <code>toByte()‎</code> عبرها مع تمرير  [[Kotlin/String|سلسلة نصية]] كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
        println("a43".toByte()) // 43
}
</syntaxhighlight>
المُخرجات:<syntaxhighlight lang="kotlin">
Exception in thread "main" java.lang.NumberFormatException: For input string: "a43"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Byte.parseByte(Byte.java:149)
    at java.lang.Byte.parseByte(Byte.java:175)
    at Simplest_versionKt.main(Simplest version.kt:2)


</syntaxhighlight>
== انظر أيضًا ==
== انظر أيضًا ==
* <code>[[Kotlin/text/toUpperCase|toUpperCase()]]</code>‎ : تحوّل الدالة <code>toUpperCase()</code>‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
* <code>[[Kotlin/text/toUpperCase|toUpperCase()]]</code>‎ : تحوّل الدالة <code>toUpperCase()</code>‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
سطر 55: سطر 33:


== مصادر ==
== مصادر ==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-byte.html صفحة الدالة text.toByteArray()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-byte-array.html صفحة الدالة text.toByteArray()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Method]]

مراجعة 23:09، 12 يوليو 2018

تعيد الدالة toByteArray()‎ مصفوفة من النوع ByteArray تحتوي أكواد حروف السلسلة النصية التي استٌدعيت عبرها وفق الترميز المُمرّر charset، القيمة الابتدائية للوسيط charset هي UTF_8.

البنية العامة

inline fun String.toByteArray(
    charset: Charset = Charsets.UTF_8
): ByteArray

بيئة التشغيل المطلوبة: JVM

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

القيم المعادة

مصفوفة من النوع ByteArray.

أمثلة

استخدام الدالة toByteArray()‎ مع السلاسل النصية

الشيفرة الآتية تستدعي الدالة toByteArray()‎ عبر عدة سلاسل نصية، وتطبع الناتج:

fun main(args: Array<String>) {
println("wiki.hsoub.com".toByteArray().toList()) // [119, 105, 107, 105, 46, 104, 115, 111, 117, 98, 46, 99, 111, 109]
println("3.14".toByteArray().toList()) // [51, 46, 49, 52]
println("Aa".toByteArray(Charsets.UTF_16).toList()) // [-2, -1, 0, 65, 0, 97]

}

انظر أيضًا

  • toUpperCase()‎ : تحوّل الدالة toUpperCase()‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
  • isDefined(): تعيد القيمة true في حال كان الحرف (Unicode code point) الذي استٌدعيت عبره مُعرّفًا في اليونيكود (Unicode).

مصادر