Я работаю над этим приложением, в котором я использую библиотеку Bluetooth (https://github.com/Polidea/react-native-ble-plx), и мне нужно использовать base64 для передачи строки из пользовательского ввода в модуль Bluetooth. Я новичок в React Native, поэтому вот мой подход к выполнению этой задачи:
constructor() {
super()
this.manager = new BleManager()
this.setState = {inputString: ''};
}
<TextInput
style = {styles.input}
placeholder = 'e.g. Hello'
placeholderTextColor = 'white'
onChangeText = {inputString => this.setState({inputString})}/>
encode = () =>{
var encodedName = base64.encode(this.state.inputString);
alert(encodedName);
}
device.writeCharacteristicWithResponseForService (
serviceUUID: UUID,
характеристикаUUID: UUID,
valueBase64: Base64)
Вот моя версия этого кода:
device.writeCharacteristicWithResponseForService('12ab', '34cd', 'base64')
.then((characteristic) => {
console.info(characteristic.value);
return })
Заранее спасибо!





Кажется, что вместо этого вы должны передать закодированную строку в качестве третьего параметра функции записи:
const base64Data = base64.encode(this.state.inputString);
device.writeCharacteristicWithResponseForService('12ab', '34cd', base64Data);
Хм. Когда вы console.info this.state.inputString прямо перед его кодированием, имеет ли он правильное значение? Вы используете функцию кодирования из react-native-base64 или это другая библиотека?
Возможно ли, что я неправильно закодировал строку? Я получаю сообщение об ошибке: «TypeError: input.charCodeAt не является функцией. (В 'input.charCodeAt (i ++)' значение 'input.charCodeAt' не определено)» в классе base64. Спасибо за помощь!